cancel
Showing results for 
Search instead for 
Did you mean: 

Installation NW04 SP15 no properties in installationscript_19 (FJS-0003)

Former Member
0 Kudos

While installing the sneak preview sapnetweaver 04 SP 15 , i get an error just after pushing the license agrement button.

Error 2006-02-07

FJS-00003 Typeerror: (new fileMgt().GetNode(PropertyFileFullPath) has no properties (in script Installationscript_19, line 8488: ????)

Can somemeone help me with this issue.

Thanks in advance,

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi,

please note that the downloaded SAP Netweaver installation package is a 3 part RAR file. You must extract all of the 3 rar files in the same folder to have the complete set of the installation files. (The missing source.properties is located in part 2). You better use WinRAR for extract the files, because it automatically links the multipart archive, and extracts all of the parts in the same folder. Winzip were not suitable for me to do the same... (its only extracts the first part.)

regards

Former Member
0 Kudos

Hi Bas,

As we can see from the log file, sapinst is not able to

find some of the files on the Java DVD. Line 8488 checks

for the file source.properties. You have to make sure if

the file exists on the cd or the user <sid>adm/SAPService

<SID> has permissions to the file.

Also you can compare the java_home value and the value

being used in keydb.xml file.

hope it helps..

Regards

Srikishan

Former Member
0 Kudos

Hi Srikishan,

I can not find the file source.properties. Can you please check if this exist on your cd (extracted files of the sneak preview)? To be sure that the missing of file source.properties is causing the problem.

Regards,

Bas

Former Member
0 Kudos

Hi,

It might be that the Netweaver Java DVD files are not

readable by the user <sid>adm. There may be some message

in the log file saying that the file is unreadable.

You can check the file sapinst_dev.log for further

information. Or you can paste the content here.

Regards

Srikishan

Former Member
0 Kudos

Srikishan ,

Hereby the content of sapinst_dev.log.

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getMessageFilePath()

Running with messages from C:/Program Files/sapinst_instdir/NW04SR1/WEBAS_COPY/ONE_HOST

TRACE

CSapInst::initMessaging()

This is SAPinst, version 642, build 703609

compiled on Nov 21 2004, 22:48:58

TRACE

CSapInst::initMessaging()

Gui connected by user BN from host XPFMQYJ1J

TRACE

syslib::logSystemState()

Process environment

===================

Environment Variables

=====================

= ::=::

= C:=C:Program Filessapinst_instdirNW04SR1WEBAS_COPYONE_HOST

= D:=D:WASNWSneakPreviewSP15SAP_NetWeaver_04_SR_1_Installation_MasterIM01_NT_I386SAPINSTNTI386

ALLUSERSPROFILE = C:Documents and SettingsAll Users

APPDATA = C:Documents and SettingsBNApplication Data

CLASSPATH = D:JAVA

CLIENTNAME = Console

CommonProgramFiles = C:Program FilesCommon Files

COMPUTERNAME = XPFMQYJ1J

ComSpec = C:WINDOWSsystem32cmd.exe

FP_NO_HOST_CHECK = NO

HOMEDRIVE = C:

HOMEPATH = Documents and SettingsBN

JAVA_HOME = C:j2sdk1.4.2_08

lib = C:Program FilesSQLXML 4.0 in

LOGONSERVER =

XPFMQYJ1J

NUMBER_OF_PROCESSORS = 1

OS = Windows_NT

Path = C:WINDOWSsystem32;C:WINDOWS;C:WINDOWSSystem32Wbem;C:Program FilesCommon FilesAdaptec SharedSystem;C:Program FilesMicrosoft SQL Server90Tools inn;C:j2sdk1.4.2_08

PATHEXT = .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH

PROCESSOR_ARCHITECTURE = x86

PROCESSOR_IDENTIFIER = x86 Family 6 Model 13 Stepping 6, GenuineIntel

PROCESSOR_LEVEL = 6

PROCESSOR_REVISION = 0d06

ProgramFiles = C:Program Files

PROMPT = $P$G

SAPINST_EXEDIR_CD = D:/WAS/NWSneakPreviewSP15/SAP_NetWeaver_04_SR_1_Installation_Master/IM01_NT_I386/SAPINST/NT/I386

SAPINST_JRE_HOME = C:j2sdk1.4.2_08JRE

SESSIONNAME = Console

SystemDrive = C:

SystemRoot = C:WINDOWS

TEMP = C:DOCUME1BNLOCALS1Temp

TMP = C:DOCUME1BNLOCALS1Temp

USERDOMAIN = XPFMQYJ1J

USERNAME = BN

USERPROFILE = C:Documents and SettingsBN

windir = C:WINDOWS

User: XPFMQYJ1JBN, Id: S-1-5-21-3842281337-3473459822-1322923122-1024

Working directory: C:Program Filessapinst_instdirNW04SR1WEBAS_COPYONE_HOST

Current access token

====================

Could not get thread token. Last error: 1008. I assume that no thread token exists.

Got process token.

Privileges:

Privilege SeBackupPrivilege, display name: Reservekopieën maken van bestanden en mappen, not enabled.

Privilege SeRestorePrivilege, display name: Bestanden en mappen terugzetten, not enabled.

Privilege SeShutdownPrivilege, display name: Systeem afsluiten, not enabled.

Privilege SeDebugPrivilege, display name: Fouten in programma's opsporen, not enabled.

Privilege SeAssignPrimaryTokenPrivilege, display name: Token op procesniveau vervangen, not enabled.

Privilege SeIncreaseQuotaPrivilege, display name: Geheugenquota's voor een proces verhogen, not enabled.

Privilege SeSystemEnvironmentPrivilege, display name: Omgevingswaarden in firmware wijzigen, not enabled.

Privilege SeChangeNotifyPrivilege, display name: Controle op bladeren negeren, enabled.

Privilege SeRemoteShutdownPrivilege, display name: Afsluiten vanaf een systeem op afstand, not enabled.

Privilege SeTcbPrivilege, display name: Functioneren als deel van het besturingssysteem, not enabled.

Privilege SeUndockPrivilege, display name: Computer verwijderen uit docking-station, enabled.

Privilege SeSecurityPrivilege, display name: Controlebeleid en beveiligingslogboek beheren, not enabled.

Privilege SeTakeOwnershipPrivilege, display name: Eigenaar worden van bestanden of andere objecten, not enabled.

Privilege SeLoadDriverPrivilege, display name: Stuurprogramma's laden en verwijderen, enabled.

Privilege SeManageVolumePrivilege, display name: Onderhoudstaken op volume uitvoeren, not enabled.

Privilege SeSystemProfilePrivilege, display name: Systeemprestatie bekijken, not enabled.

Privilege SeImpersonatePrivilege, display name: Een client nabootsen na verificatie, enabled.

Privilege SeSystemtimePrivilege, display name: Systeemtijd wijzigen, not enabled.

Privilege SeCreateGlobalPrivilege, display name: Globale objecten maken, enabled.

Privilege SeProfileSingleProcessPrivilege, display name: Een enkel proces bekijken, not enabled.

Privilege SeIncreaseBasePriorityPrivilege, display name: Prioriteit verhogen voor planning, not enabled.

Privilege SeCreatePagefilePrivilege, display name: Wisselbestand maken, not enabled.

TRACE

syslib::logSystemState()

System information

==================

OS version, host name: Microsoft Windows NT XPFMQYJ1J

RAM size (MB): 1023.23

Swap size (MB): 2463.77

TRACE

Running with control file D:/WAS/NWSneakPreviewSP15/SAP_NetWeaver_04_SR_1_Installation_Master/IM01_NT_I386/SAPINST/NT/I386/NW04SR1/WEBAS/COPY/ADA/control.xml version 0 and changelist not defined

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getKeydbControlFileName()

Running with keydb file keydb.xml

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getDialogControlFileName()

Running with dialog control file dialog.xml

TRACE

CControlFile::getResourecFileName()

Running with resource file C:/Program Files/sapinst_instdir/NW04SR1/WEBAS_COPY/ONE_HOST/helppool.xml

INFO 2006-02-07 11:13:33

CSyFileImpl::copy(const CSyPath & q0w9e9r8t7.1.xml, ISyNode::eCopyMode 3, ISyProgressObserver*) const

Copying file C:/Program Files/sapinst_instdir/NW04SR1/WEBAS_COPY/ONE_HOST/keydb.xml to: q0w9e9r8t7.1.xml.

INFO 2006-02-07 11:13:33

CSyFileImpl::copy(const CSyPath & q0w9e9r8t7.1.xml, ISyNode::eCopyMode 3, ISyProgressObserver*) const

Copying file C:/Program Files/sapinst_instdir/NW04SR1/WEBAS_COPY/ONE_HOST/keydb.xml to: q0w9e9r8t7.1.xml.

TRACE

load()

Opened iaccdlib.dll

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE

CDialogProcessor::processDialogs()

Executing dialog step Preinstall|ind|ind|ind|ind|ind|0|changeUserInstall

TRACE

load()

Opened iamodos.dll

TRACE

CController::stepExecuted()

The step changeUserInstall with key Preinstall|ind|ind|ind|ind|ind|0|changeUserInstall has been executed successfully.

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE

CDialogProcessor::processDialogs()

Executing dialog step Preinstall|ind|ind|ind|ind|ind|0|AddPrivilege

TRACE

CSyCurrentProcessEnvironmentImpl::getEffectiveUser(iastring&)

effective user corresponds to real user

TRACE

CSyCurrentProcessEnvironmentImpl::getEffectiveUser(iastring&)

effective user corresponds to real user

TRACE

load()

Opened iajsmod.dll

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE

load()

Opened iamodnt.dll

TRACE

CIaNtUserPrivileges::add_impl(., XPFMQYJ1JBN, SeTcbPrivilege SeAssignPrimaryTokenPrivilege SeIncreaseQuotaPrivilege)

Ignored existing privilege: SeTcbPrivilege

TRACE

CIaNtUserPrivileges::add_impl(., XPFMQYJ1JBN, SeTcbPrivilege SeAssignPrimaryTokenPrivilege SeIncreaseQuotaPrivilege)

Ignored existing privilege: SeAssignPrimaryTokenPrivilege

TRACE

CIaNtUserPrivileges::add_impl(., XPFMQYJ1JBN, SeTcbPrivilege SeAssignPrimaryTokenPrivilege SeIncreaseQuotaPrivilege)

Ignored existing privilege: SeIncreaseQuotaPrivilege

INFO 2006-02-07 11:13:35

CIaNtUserPrivileges::add_impl(., XPFMQYJ1JBN, SeTcbPrivilege SeAssignPrimaryTokenPrivilege SeIncreaseQuotaPrivilege)

Successfully added privileges 'SeTcbPrivilege SeAssignPrimaryTokenPrivilege SeIncreaseQuotaPrivilege' to account 'XPFMQYJ1JBN' on host '.'.

TRACE

CController::stepExecuted()

The step AddPrivilege with key Preinstall|ind|ind|ind|ind|ind|0|AddPrivilege has been executed successfully.

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE

CDialogProcessor::processDialogs()

Executing dialog step Preinstall|ind|ind|ind|ind|ind|0|replaceDLLs

TRACE

CSyFileImpl::getFileVersion()

file C:/DOCUME1/bne03874/LOCALS1/Temp/sapinst_exe.2312.1138745346/msvcp71.dll has version 458762.201654272

TRACE

CSyFileImpl::getFileVersion()

file C:/WINDOWS/system32/msvcp71.dll has version 458762.201654272

TRACE

CSyFileImpl::copy(const CSyPath & C:/WINDOWS/system32, ISyNode::eCopyMode 545, ISyProgressObserver*) const

Did not copy file C:/DOCUME1/bne03874/LOCALS1/Temp/sapinst_exe.2312.1138745346/msvcp71.dll to: C:/WINDOWS/system32/msvcp71.dll (source file version is not higher than target file version)

TRACE

CSyFileImpl::getFileVersion()

file C:/DOCUME1/bne03874/LOCALS1/Temp/sapinst_exe.2312.1138745346/msvcr71.dll has version 458762.200015876

TRACE

CSyFileImpl::getFileVersion()

file C:/WINDOWS/system32/msvcr71.dll has version 458762.200015876

TRACE

CSyFileImpl::copy(const CSyPath & C:/WINDOWS/system32, ISyNode::eCopyMode 545, ISyProgressObserver*) const

Did not copy file C:/DOCUME1/bne03874/LOCALS1/Temp/sapinst_exe.2312.1138745346/msvcr71.dll to: C:/WINDOWS/system32/msvcr71.dll (source file version is not higher than target file version)

TRACE

CSyFileImpl::getFileVersion()

file C:/DOCUME1/bne03874/LOCALS1/Temp/sapinst_exe.2312.1138745346/SYSTEM/icudt26l.dll has version 131078.65536

TRACE

CSyFileImpl::getFileVersion()

file C:/WINDOWS/system32/icudt26l.dll has version 131078.65536

TRACE

CSyFileImpl::copy(const CSyPath & C:/WINDOWS/system32, ISyNode::eCopyMode 545, ISyProgressObserver*) const

Did not copy file C:/DOCUME1/bne03874/LOCALS1/Temp/sapinst_exe.2312.1138745346/SYSTEM/icudt26l.dll to: C:/WINDOWS/system32/icudt26l.dll (source file version is not higher than target file version)

TRACE

CSyFileImpl::getFileVersion()

file C:/DOCUME1/bne03874/LOCALS1/Temp/sapinst_exe.2312.1138745346/SYSTEM/icuin26.dll has version 131078.65536

TRACE

CSyFileImpl::getFileVersion()

file C:/WINDOWS/system32/icuin26.dll has version 131078.65536

TRACE

CSyFileImpl::copy(const CSyPath & C:/WINDOWS/system32, ISyNode::eCopyMode 545, ISyProgressObserver*) const

Did not copy file C:/DOCUME1/bne03874/LOCALS1/Temp/sapinst_exe.2312.1138745346/SYSTEM/icuin26.dll to: C:/WINDOWS/system32/icuin26.dll (source file version is not higher than target file version)

TRACE

CSyFileImpl::getFileVersion()

file C:/DOCUME1/bne03874/LOCALS1/Temp/sapinst_exe.2312.1138745346/SYSTEM/icuuc26.dll has version 131078.65536

TRACE

CSyFileImpl::getFileVersion()

file C:/WINDOWS/system32/icuuc26.dll has version 131078.65536

TRACE

CSyFileImpl::copy(const CSyPath & C:/WINDOWS/system32, ISyNode::eCopyMode 545, ISyProgressObserver*) const

Did not copy file C:/DOCUME1/bne03874/LOCALS1/Temp/sapinst_exe.2312.1138745346/SYSTEM/icuuc26.dll to: C:/WINDOWS/system32/icuuc26.dll (source file version is not higher than target file version)

TRACE

CSyFileImpl::getFileVersion()

file C:/DOCUME1/bne03874/LOCALS1/Temp/sapinst_exe.2312.1138745346/SYSTEM/librfc32.dll has version 419561474.3019176

TRACE

CSyFileImpl::getFileVersion()

file C:/WINDOWS/system32/librfc32.dll has version 419627011.3609060

TRACE

CSyFileImpl::copy(const CSyPath & C:/WINDOWS/system32, ISyNode::eCopyMode 545, ISyProgressObserver*) const

Did not copy file C:/DOCUME1/bne03874/LOCALS1/Temp/sapinst_exe.2312.1138745346/SYSTEM/librfc32.dll to: C:/WINDOWS/system32/librfc32.dll (source file version is not higher than target file version)

TRACE

CSyFileImpl::getFileVersion()

file C:/DOCUME1/bne03874/LOCALS1/Temp/sapinst_exe.2312.1138745346/SYSTEM/librfc32u.dll has version 419561474.3019175

TRACE

CSyFileImpl::getFileVersion()

file C:/WINDOWS/system32/librfc32u.dll has version 419627011.3609059

TRACE

CSyFileImpl::copy(const CSyPath & C:/WINDOWS/system32, ISyNode::eCopyMode 545, ISyProgressObserver*) const

Did not copy file C:/DOCUME1/bne03874/LOCALS1/Temp/sapinst_exe.2312.1138745346/SYSTEM/librfc32u.dll to: C:/WINDOWS/system32/librfc32u.dll (source file version is not higher than target file version)

TRACE

CSyFileImpl::getFileVersion()

file C:/DOCUME1/bne03874/LOCALS1/Temp/sapinst_exe.2312.1138745346/SYSTEM/libsapu16vc71.dll has version 419430446.703609

TRACE

CSyFileImpl::getFileVersion()

file C:/WINDOWS/system32/libsapu16vc71.dll has version 419430455.717389

TRACE

CSyFileImpl::copy(const CSyPath & C:/WINDOWS/system32, ISyNode::eCopyMode 545, ISyProgressObserver*) const

Did not copy file C:/DOCUME1/bne03874/LOCALS1/Temp/sapinst_exe.2312.1138745346/SYSTEM/libsapu16vc71.dll to: C:/WINDOWS/system32/libsapu16vc71.dll (source file version is not higher than target file version)

TRACE

CSyFileImpl::getFileVersion()

file C:/DOCUME1/bne03874/LOCALS1/Temp/sapinst_exe.2312.1138745346/SYSTEM/libsapucum.dll has version 419430446.703609

TRACE

CSyFileImpl::getFileVersion()

file C:/WINDOWS/system32/libsapucum.dll has version 419430446.703609

TRACE

CSyFileImpl::copy(const CSyPath & C:/WINDOWS/system32, ISyNode::eCopyMode 545, ISyProgressObserver*) const

Did not copy file C:/DOCUME1/bne03874/LOCALS1/Temp/sapinst_exe.2312.1138745346/SYSTEM/libsapucum.dll to: C:/WINDOWS/system32/libsapucum.dll (source file version is not higher than target file version)

TRACE

CSyFileImpl::getFileVersion()

file C:/DOCUME1/bne03874/LOCALS1/Temp/sapinst_exe.2312.1138745346/SYSTEM/mfc71.dll has version 458762.201654272

TRACE

CSyFileImpl::getFileVersion()

file C:/WINDOWS/system32/mfc71.dll has version 458762.201654272

TRACE

CSyFileImpl::copy(const CSyPath & C:/WINDOWS/system32, ISyNode::eCopyMode 545, ISyProgressObserver*) const

Did not copy file C:/DOCUME1/bne03874/LOCALS1/Temp/sapinst_exe.2312.1138745346/SYSTEM/mfc71.dll to: C:/WINDOWS/system32/mfc71.dll (source file version is not higher than target file version)

TRACE

CSyFileImpl::getFileVersion()

file C:/DOCUME1/bne03874/LOCALS1/Temp/sapinst_exe.2312.1138745346/SYSTEM/mfc71u.dll has version 458762.201654272

TRACE

CSyFileImpl::getFileVersion()

file C:/WINDOWS/system32/mfc71u.dll has version 458762.201654272

TRACE

CSyFileImpl::copy(const CSyPath & C:/WINDOWS/system32, ISyNode::eCopyMode 545, ISyProgressObserver*) const

Did not copy file C:/DOCUME1/bne03874/LOCALS1/Temp/sapinst_exe.2312.1138745346/SYSTEM/mfc71u.dll to: C:/WINDOWS/system32/mfc71u.dll (source file version is not higher than target file version)

TRACE

CSyFileImpl::getFileVersion()

file C:/DOCUME1/bne03874/LOCALS1/Temp/sapinst_exe.2312.1138745346/SYSTEM/saprc.dll has version 419430446.703609

TRACE

CSyFileImpl::getFileVersion()

file C:/WINDOWS/system32/saprc.dll has version 419430446.703609

TRACE

CSyFileImpl::copy(const CSyPath & C:/WINDOWS/system32, ISyNode::eCopyMode 545, ISyProgressObserver*) const

Did not copy file C:/DOCUME1/bne03874/LOCALS1/Temp/sapinst_exe.2312.1138745346/SYSTEM/saprc.dll to: C:/WINDOWS/system32/saprc.dll (source file version is not higher than target file version)

TRACE

CSyFileImpl::getFileVersion()

file C:/DOCUME1/bne03874/LOCALS1/Temp/sapinst_exe.2312.1138745346/SYSTEM/saprcex.dll has version 419430446.703609

TRACE

CSyFileImpl::getFileVersion()

file C:/WINDOWS/system32/saprcex.dll has version 419430446.703609

TRACE

CSyFileImpl::copy(const CSyPath & C:/WINDOWS/system32, ISyNode::eCopyMode 545, ISyProgressObserver*) const

Did not copy file C:/DOCUME1/bne03874/LOCALS1/Temp/sapinst_exe.2312.1138745346/SYSTEM/saprcex.dll to: C:/WINDOWS/system32/saprcex.dll (source file version is not higher than target file version)

TRACE

CController::stepExecuted()

The step replaceDLLs with key Preinstall|ind|ind|ind|ind|ind|0|replaceDLLs has been executed successfully.

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE

CDialogProcessor::processDialogs()

Executing dialog step Preinstall|ind|ind|ind|ind|ind|0|registerEventsDll

TRACE

CSyFileImpl::getFileVersion()

file C:/DOCUME1/bne03874/LOCALS1/Temp/sapinst_exe.2312.1138745346/sapinstevents.dll has version 703609.642

TRACE

CSyFileImpl::getFileVersion()

file C:/WINDOWS/system32/SAPinst/sapinstevents.dll has version 703609.642

TRACE

CSyFileImpl::copy(const CSyPath & C:/WINDOWS/system32/SAPinst/sapinstevents.dll, ISyNode::eCopyMode 545, ISyProgressObserver*) const

Did not copy file C:/DOCUME1/bne03874/LOCALS1/Temp/sapinst_exe.2312.1138745346/sapinstevents.dll to: C:/WINDOWS/system32/SAPinst/sapinstevents.dll (source file version is not higher than target file version)

TRACE

EJS_Installer::writeTraceToLogBook()

D:/WAS/NWSneakPreviewSP15/SAP_NetWeaver_04_SR_1_Installation_MasterIM01_NT_I386SAPINST/NT/I386/sapinstevents.dll not found.

TRACE

CSyFileImpl::getFileVersion()

file C:/Program Files/sapinst_instdir/NW04SR1/WEBAS_COPY/ONE_HOST/sapinstevents.dll has version 693717.642

TRACE

CSyFileImpl::getFileVersion()

file C:/WINDOWS/system32/SAPinst/sapinstevents.dll has version 703609.642

TRACE

CSyFileImpl::copy(const CSyPath & C:/WINDOWS/system32/SAPinst/sapinstevents.dll, ISyNode::eCopyMode 545, ISyProgressObserver*) const

Did not copy file C:/Program Files/sapinst_instdir/NW04SR1/WEBAS_COPY/ONE_HOST/sapinstevents.dll to: C:/WINDOWS/system32/SAPinst/sapinstevents.dll (source file version is not higher than target file version)

TRACE

CController::stepExecuted()

The step registerEventsDll with key Preinstall|ind|ind|ind|ind|ind|0|registerEventsDll has been executed successfully.

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE

CDialogProcessor::processDialogs()

Executing dialog step Preinstall|ind|ind|ind|ind|ind|0|diSummarize

TRACE

CController::stepExecuted()

The step diSummarize with key Preinstall|ind|ind|ind|ind|ind|0|diSummarize has been executed successfully.

TRACE

CDialogProcessor::processDialogs()

Executing dialog step Preinstall|ind|ind|ind|ind|ind|0|diProgress

TRACE

CController::stepExecuted()

The step diProgress with key Preinstall|ind|ind|ind|ind|ind|0|diProgress has been executed successfully.

INFO 2006-02-07 11:13:38

CSyFileImpl::copy(const CSyPath & C:/Program Files/sapinst_instdir/NW04SR1/WEBAS_COPY/ONE_HOST/summary.1.html, ISyNode::eCopyMode 3, ISyProgressObserver*) const

Copying file C:/Program Files/sapinst_instdir/NW04SR1/WEBAS_COPY/ONE_HOST/summary.html to: C:/Program Files/sapinst_instdir/NW04SR1/WEBAS_COPY/ONE_HOST/summary.1.html.

INFO 2006-02-07 11:13:38

CSyFileImpl::copy(const CSyPath & C:/Program Files/sapinst_instdir/NW04SR1/WEBAS_COPY/ONE_HOST/summary.1.html, ISyNode::eCopyMode 3, ISyProgressObserver*) const

Copying file C:/Program Files/sapinst_instdir/NW04SR1/WEBAS_COPY/ONE_HOST/summary.html to: C:/Program Files/sapinst_instdir/NW04SR1/WEBAS_COPY/ONE_HOST/summary.1.html.

INFO 2006-02-07 11:13:38

CSyPath::createFile()

Creating file C:Program Filessapinst_instdirNW04SR1WEBAS_COPYONE_HOSTsummary.1.html.

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

PHASE 2006-02-07 11:13:38

CDomWalker::printPhaseInfo()

Prepare the installation program.

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE

CDomWalker::walk()

Installation start: Tuesday, 07 February 2006, 11:13:31; installation directory: C:Program Filessapinst_instdirNW04SR1WEBAS_COPYONE_HOST; product to be installed: SAP NetWeaver Sneak Preview '04 Support Release 1> Migration - Target System Installation

TRACE

load()

Opened iamodora.dll

TRACE

CController::activateEvaluator()

The controller registered the module COraInputChecker

TRACE

load()

Opened iamodada.dll

TRACE

CController::activateEvaluator()

The controller registered the module CIaSdbActor

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE

CDialogProcessor::processDialogs()

Executing dialog step J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|eula

TRACE

showDialog()

showing dlg diLicense_j2ee

TRACE

showDialog()

TRACE

showDialog()

waiting for an answer from gui

TRACE

CDialogHandler::doHandleDoc()

CDialogHandler: ACTION_NEXT requested

TRACE

showDialog()

TRACE

CController::stepExecuted()

The step eula with key J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|eula has been executed successfully.

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE

CDialogProcessor::processDialogs()

Executing dialog step J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|fillContext

TRACE

EJS_Installer::writeTraceToLogBook()

t_J2EE_SystemCopy.remove(WHERE 1=1)

TRACE

EJS_Installer::writeTraceToLogBook()

t_J2EE_SystemCopy.insertRow(), inserting

TRACE

CController::stepExecuted()

The step fillContext with key J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|fillContext has been executed successfully.

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE

CDialogProcessor::processDialogs()

Executing dialog step J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|J2EE_SystemCopy|ind|ind|ind|ind|ind|0|requestCDs

TRACE

CCdClientImpl::makeSomePackagesAvailable

CD Client for Component J2EE_SystemCopy|ind|ind|ind|ind|ind

TRACE

CController::stepExecuted()

The step requestCDs with key J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|J2EE_SystemCopy|ind|ind|ind|ind|ind|0|requestCDs has been executed successfully.

TRACE[E]

CSyFileSystemMgtImpl::getNode(const CSyPath &product.catalog) const

Node product.catalog does not exist.

TRACE

CControlFile::getControlFilePath()

Running with control file path

TRACE

CDialogProcessor::processDialogs()

Executing dialog step J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|J2EE_SystemCopy|ind|ind|ind|ind|ind|0|readSourceProperties

TRACE

EJS_ErrorReporter

1: function InstallationScript_19() ; 10: var call = ; 17: return installer.invokeModuleCall(call); 18: } 19: 20: Gui.prototype.setErrorInformation = function() 23: 24: Gui.prototype.setErrorInformationWithArray = function(parameters) 28: 29: Gui.prototype.updateMsg = function() 32: 33: Gui.prototype.updateMsgWithArray = function(parameters) 36: 37: Gui.prototype.update = function(message) ); 39: } 40: 41: Gui.prototype.showMessageBox = function() 44: 45: Gui.prototype.showMessageBoxWithArray = function(parameters) 48: 49: Gui.prototype.showOkCancelBox = function() 52: 53: Gui.prototype.showOkCancelBoxWithArray = function(parameters) 56: // Code of Java Script Block :property 57: 58: // This is the implementation of the Property object. 59: 60: function Property(name, value) 66: } 67: 68: Property.prototype.name = function() 71: 72: Property.prototype.value = function() 76: // Code of Java Script Block :impl_common 77: 78: function implcommon_massage_args(argsarray, prefixarg) else 88: 89: for ( var i = start; i < argsarray.length; ++i ) else if ( i < 100 ) else 98: args[name] = argsarray<i>; 99: } 100: return args; 101: } 102: 103: function implcommon_purevirtual(name) 106: 107: function implcommon_ignoreAttributeChange(id, oldval, newval) 110: // Code of Java Script Block :installer 111: 112: Installer.prototype.onWindows = function() 115: 116: Installer.prototype.onUnix = function() 119: 120: Installer.prototype.onzOS = function() 123: 124: Installer.prototype.onOS400 = function() 127: 128: Installer.prototype.getProperty = function(prop) ; 138: return new Property(prop, installer.invokeModuleCall(call)); 139: } 140: 141: Installer.prototype.setProperty = function(prop) ; 146: var call = ; 153: installer.invokeModuleCall(call); 154: } 155: 156: Installer.prototype.getCurrentUser = function() ); 159: } 160: 161: Installer.prototype.getHostName = function() ); 164: } 165: 166: Installer.prototype.getHostNameFullQualified = function() ); 169: } 170: 171: Installer.prototype.showLicense = function(dialogsid) ); 177: linfo.insertRow(); 178: return true; 179: } else 182: } 183: 184: Installer.prototype.getMessage = function() 187: 188: Installer.prototype.getMessageWithArray = function(args) ; 196: return installer.invokeModuleCall(call); 197: } 198: 199: Installer.prototype.wait = function(seconds, updateGui) 203: if (updateGui == undefined) 206: var call = }; 207: return installer.invokeModuleCall(call); 208: } 209: 210: Installer.prototype.writeTrace = Installer.prototype.writeTraceToLogBook; 211: 212: Installer.prototype.writeInfo = function() 215: 216: Installer.prototype._doLogEntry = function(array, func, args) ; 218: var params = implcommon_massage_args(array); 219: for (var prop in args) 222: var call = ; 229: return installer.invokeModuleCall(call); 230: } 231: 232: Installer.prototype.writeInfoWithArray = function(array) 235: 236: Installer.prototype.writeWarning = function() 239: 240: Installer.prototype.writeWarningWithArray = function(array) 243: 244: Installer.prototype.writeError = function() 247: 248: Installer.prototype.writeErrorWithArray = function(array, nocatch) 252: return this._doLogEntry(array, "writeError", ); 253: } 254: 255: Installer.prototype.writeSyslog = function(type) 262: var func; 263: switch (type) 276: return this._doLogEntry(args, func, ); 277: } 278: 279: Installer.prototype.showWarningPopupOrExit = function() else 288: return doSkip; 289: } 290: 291: Installer.prototype.useICLI = function() 294: 295: Installer.prototype.pushMapping = function(from, to) 304: }; 305: return installer.invokeModuleCall(call); 306: } 307: 308: Installer.prototype.popMapping = function() 315: }; 316: return installer.invokeModuleCall(call); 317: } 318: // Code of Java Script Block :iter 319: 320: // This is the public interface to the Iter class. 321: // Don't include the dependent files directly. 322: 323: // Iter is an abstract base class for Iterators. It is unusable. 324: // Use derived classes. 325: function Iter() 327: 328: // bool isDone() 329: Iter.prototype.isDone = function() { implcommon_purevirtual("Iter.isDone()"); } 330: 331: // object get() 332: // return what we are pointing at. 333: Iter.prototype.get = function() { implcommon_purevirtual("Iter.get()"); }; 334: 335: // void next() 336: // advance the iterator. 337: Iter.prototype.next = function() { implcommon_purevirtual("Iter.next()"); }; 338: // Code of Java Script Block :arrayiter 339: 340: function ArrayIter(array) 346: } 347: ArrayIter.prototype = new Iter; 348: ArrayIter.prototype.isDone = function() 351: ArrayIter.prototype.get = function() 354: ArrayIter.prototype.next = function() 357: // Code of Java Script Block :commentproperty 358: 359: // This is the public interface to the CommentProperty object. 360: // Don't include the dependent files directly. 361: 362: // Constructor function for a CommentProperty object. 363: // It is used for modeling a Comment in a Property file. 364: function CommentProperty(value) 368: CommentProperty.prototype = new Property; 369: // Code of Java Script Block :properties 370: 371: // This is the definition of the Properties object. 372: 373: // A Properties object. 374: function Properties(properties) 380: } 381: } 382: 383: Properties.prototype.add = function(prop) 388: } else else else 399: } 400: } 401: return this.container.length; 402: } 403: 404: Properties.prototype.get = function(key) 409: } 410: return undefined; 411: } 412: 413: 414: Properties.prototype.propertyNames = function() 417: 418: Properties.prototype.clear = function() 421: 422: Properties.prototype.size = function() 425: 426: Properties.prototype.dump = function() 431: r += " }"; 432: return r; 433: } 434: 435: Properties.prototype.remove = function(key) 440: } 441: return undefined; 442: } 443: 444: Properties.prototype.equals = function(other) ; 446: installer.writeTrace("Properties.equals(): Comparing this : " + this + "and other: " + other); 447: // Collect the content of other in a hash for easy access. 448: for (var it = other.propertyNames(); ! it.isDone(); it.next()) 453: } 454: for (var it = this.propertyNames(); ! it.isDone(); it.next()) 461: if (p.value() != otherp[p.name()]) 465: // Remove this one, it was ok. 466: delete otherp[p.name()]; 467: } 468: } 469: for (var p in otherp) 473: installer.writeTrace("this and other have the same content. Returning true."); 474: return true; 475: } 476: 477: Properties.prototype.toString = function() 483: return result; 484: } 485: 486: Properties.prototype.toArray = function() 489: // Code of Java Script Block :utility 490: 491: function contains(array, what) 496: } 497: return false; 498: } 499: 500: function dump_object(row) 501: 508: r += " " + prop + ":" + value + " "; 509: } 510: r += "}"; 511: return r; 512: } 513: 514: function dump_properties(row) 515: 523: r += " " + prop + ":" + value + " "; 524: } 525: } 526: r += "}"; 527: return r; 528: } 529: 530: function ASSERT(caller, check, text) 537: message += "in " + caller; 538: if (text != undefined) 541: if (! condition) 544: } 545: 546: function ASSERT_DEFINED(caller, variable, varname) 551: 552: function parseBool(string) else if (string == "false" || string == "no" || string == "undefined" || string == "") else if (! isNaN(num)) 562: ASSERT(arguments.callee, false, "can't convert " + string + " to truth value."); 563: } 564: // Code of Java Script Block :rows 565: 566: // This is the public interface to the Rows object. 567: // Don't include the dependent files directly. 568: 569: // An object representing an array of rows. 570: function Rows(rows_array, tablename) 577: } 578: } 579: Rows.prototype = new Array; 580: // Code of Java Script Block :table 581: 582: // This is the public interface to the Table object. 583: // Don't include the dependent files directly. 584: 585: // A Table object. 586: function Table(name) 591: 592: this._update = function(row, where) ); 594: this._callModuleNoName("updateRow", row); 595: } 596: 597: this.dump = function() 604: return r; 605: } 606: 607: this.getRowFields = function(row) 613: return fields; 614: } 615: 616: this.getColumnNames = function() 619: 620: this.hasColumn = function(columnName) 623: 624: this.isExpression = function(field, wherearg) ) == "true"; 627: } 628: 629: this.isParameterTable = function() 632: 633: this.isLocked = function() 636: 637: this.select = function(field, wherearg) ); 640: } 641: 642: this.selectExpression = function(field, wherearg) ); 645: } 646: 647: this.selectRow = function(wherearg) else if ( rows.length > 1 ) else 658: } 659: 660: this.arraySelect = function(fields, wherearg) 665: return new Rows(kdb.arraySelect(this.name, fields, where), this.name); 666: } 667: 668: this.arraySelectExpression = function(fields, wherearg) 673: return new Rows(kdb.arraySelectExpression(this.name, fields, where), this.name); 674: } 675: 676: this.numRows = function(wherearg) )); 679: } 680: 681: this.updateRow = function(row, where) else 696: } 697: 698: this._updateExpression = function(row, where) ); 700: this._callModuleNoName("updateExpression", row); 701: } 702: 703: this.updateExpression = function(row, where) else 720: } 721: 722: this.completeRow = function(row, where) 732: var rows = this.arraySelect(fields, where); 733: if ( rows.length == 0 ) else 748: } 749: this._update(newrow, where); 750: return false; 751: } 752: } 753: 754: this.completeExpression = function(row, where) 764: var rows = this.arraySelectExpression(fields, where); 765: if ( rows.length == 0 ) else 783: } 784: this._updateExpression(newrow, where); 785: return false; 786: } 787: } 788: 789: this.insertRow = function(rowarg, where) ; 791: var trace = this.name + ".insertRow("; 792: trace += dump_object(row); 793: if (where == undefined) else else 810: } 811: } 812: 813: this.insertExpression = function(rowarg, where) ; 815: var trace = this.name + ".insertExpression("; 816: trace += dump_object(row); 817: if (where == undefined) else else 838: } 839: } 840: 841: this.insertRows = function(rows) 845: } 846: 847: this.insertExpressions = function(rows) 851: } 852: 853: this.remove = function(wherearg) ); 857: } 858: 859: this.setRowProperty = function(prop, wherearg, fields) 864: for (var i = 0; i < fields.length; ++i) 867: return prop; 868: } 869: 870: this.getProperty = function(column, propName, wherearg) ; 877: return new Property(propName, this._callModule("getProperty", args)); 878: } 879: 880: this.getProperties = function(column, wherearg) )); 883: var props = new Properties(); 884: for (var prop in raw) 887: return props; 888: } 889: 890: this.deleteProperty = function(column, wherearg) ; 897: this._callModule("deleteProperty", args); 898: } 899: 900: this.setProperty = function(column, prop, wherearg) ; 908: this._callModule("setProperty", args); 909: return prop; 910: } 911: 912: this.getColumnProperty = function(column, propName) ; 917: return new Property(propName, this._callModule("getColumnProperty", args)); 918: } 919: 920: this.setColumnProperty = function(column, prop) ; 926: this._callModule("setColumnProperty", args); 927: return prop; 928: } 929: 930: this.deleteColumnProperty = function(column, propName) ; 935: this._callModule("deleteColumnProperty", args); 936: } 937: 938: this.deleteColumnProperties = function(column) ; 942: this._callModule("deleteColumnProperties", args); 943: } 944: 945: this.getColumnProperties = function(column) )); 947: var props = new Properties(); 948: for (var prop in raw) 951: return props; 952: } 953: 954: this.getDefaultProperty = function(column, propName) ; 959: return new Property(propName, this._callModule("getDefaultProperty", args)); 960: } 961: 962: this.setDefaultProperty = function(column, prop) ; 968: this._callModule("setDefaultProperty", args); 969: return prop; 970: } 971: 972: this.getDefaultProperties = function(column) )); 974: var props = new Properties(); 975: for (var prop in raw) 978: return props; 979: } 980: 981: this.fillDropDownMenu = function(source, sourceColumn, targetColumn, where) else if (i < 100) else 995: this.setColumnProperty(targetColumn, new Property("LIST_ITEM_" + num, rows<i>[sourceColumn])); 996: } 997: } 998: 999: if (name != undefined) ); 1003: } 1004: } 1005: 1006: Table.exists = function(name) ) == "true"; 1008: } 1009: 1010: Table.prototype._callModule = function(func, argsarg) ; 1012: args.name = this.name; 1013: return this._callModuleNoName(func, args); 1014: } 1015: 1016: Table.prototype._callModuleNoName = function(func, argsarg) ; 1018: var call = ; 1025: return installer.invokeModuleCall(call); 1026: } 1027: // Code of Java Script Block :context 1028: 1029: // This is the public interface to the context object. 1030: // Don't include the dependent files directly. 1031: 1032: Context.prototype._callModule = function(funcname, argsarg) ; 1034: var propcall = ; 1035: return installer.invokeModuleCall(propcall); 1036: } 1037: 1038: Context.prototype._callModule2 = function(funcname, argsarg) ; 1040: var propcall = ; 1041: return installer.invokeModuleCall(propcall); 1042: } 1043: 1044: Context.prototype.setProperty = function(parameterName, prop) ; 1050: this._callModule2("setContextProperty", args); 1051: return prop; 1052: } 1053: 1054: Context.prototype.getProperty = function(parameterName, propertyName) ; 1059: return new Property(propertyName, this._callModule2("getContextProperty", args)); 1060: } 1061: 1062: Context.prototype.getDefaultProperty = function(parameterName, propertyName) ; 1067: return new Property(propertyName, this._callModule2("getContextDefaultProperty", args)); 1068: } 1069: 1070: Context.prototype.propagate = function(tables, fields) 1080: } 1081: var where = "WHERE ROWNUM=0"; 1082: table.updateRow(row, where); 1083: table.setRowProperty(new Property("GUIENG_USER_INPUT", "GUIENG_TRUE"), where, tablefields); 1084: } 1085: } 1086: 1087: Context.prototype.setFor = function(tables, row) 1096: } 1097: 1098: Context.prototype.existClientParameter = function(parameter) 1101: 1102: 1103: Context.prototype.getClientParameter = function(parameter) 1106: 1107: Context.prototype.getBool = function(parameter) 1110: 1111: Context.prototype.getRow = function() 1114: 1115: Context.prototype.getProperties = function(parameter) )); 1117: var props = new Properties(); 1118: for (var prop in raw) 1121: return props; 1122: } 1123: 1124: Context.prototype.getDefaultProperties = function(parameter) )); 1126: var props = new Properties(); 1127: for (var prop in raw) 1130: return props; 1131: } 1132: // Code of Java Script Block :exception 1133: 1134: function Exception() 1142: } 1143: this.getMessage = function() 1146: this.toString = function() 1149: } 1150: 1151: function ERfcException() 1155: ERfcException.prototype = new Exception; 1156: 1157: function EKdException() 1161: EKdException.prototype = new Exception; 1162: 1163: function EMessageLib() 1167: EMessageLib.prototype = new Exception; 1168: 1169: function ESyException() 1173: ESyException.prototype = new Exception; 1174: 1175: function EJSException() 1179: EJSException.prototype = new Exception; 1180: // Code of Java Script Block :jslib_default 1181: 1182: // Code of Java Script Block :impl_common 1183: 1184: function implcommon_massage_args(argsarray, prefixarg) else 1194: 1195: for ( var i = start; i < argsarray.length; ++i ) else if ( i < 100 ) else 1204: args[name] = argsarray<i>; 1205: } 1206: return args; 1207: } 1208: 1209: function implcommon_purevirtual(name) 1212: 1213: function implcommon_ignoreAttributeChange(id, oldval, newval) 1216: // Code of Java Script Block :iter 1217: 1218: // This is the public interface to the Iter class. 1219: // Don't include the dependent files directly. 1220: 1221: // Iter is an abstract base class for Iterators. It is unusable. 1222: // Use derived classes. 1223: function Iter() 1225: 1226: // bool isDone() 1227: Iter.prototype.isDone = function() { implcommon_purevirtual("Iter.isDone()"); } 1228: 1229: // object get() 1230: // return what we are pointing at. 1231: Iter.prototype.get = function() { implcommon_purevirtual("Iter.get()"); }; 1232: 1233: // void next() 1234: // advance the iterator. 1235: Iter.prototype.next = function() { implcommon_purevirtual("Iter.next()"); }; 1236: // Code of Java Script Block :impl_nodeiter 1237: 1238: function NodeIter(node) 1241: NodeIter.prototype = new Iter; 1242: 1243: function NodeIterisDone() 1246: 1247: function NodeIterget() 1250: 1251: function NodeIternext() 1254: // Code of Java Script Block :nodeiter 1255: 1256: // This is the public interface to the NodeIter object. 1257: // Don't include the dependent files directly. 1258: 1259: // The constructor is private. Use Node.getChildNodes(). 1260: 1261: // bool isDone() 1262: NodeIter.prototype.isDone = NodeIterisDone; 1263: 1264: // Node get() 1265: // return the node we are pointing at. 1266: NodeIter.prototype.get = NodeIterget; 1267: 1268: // void next() 1269: // advance the iterator. 1270: NodeIter.prototype.next = NodeIternext; 1271: // Code of Java Script Block :acl 1272: 1273: // Constructor of an ACL. 1274: function ACL(index, aclType) 1281: } 1282: 1283: ACL.prototype.toString = function() ); 1285: } 1286: 1287: ACL.prototype.modifyRights = function(rights) ); 1289: } 1290: // Code of Java Script Block :nodevisitor 1291: 1292: function NodeVisitor(pattern) 1295: this.visitDirectory = function (node) {} 1296: this.visitLink = function (node) {} 1297: this.iterate = function(dir) 1301: } 1302: } 1303: // Code of Java Script Block :fspath 1304: 1305: function FSPath(index) ; 1310: args.index = this.index; 1311: var call = ; 1318: return installer.invokeModuleCall(call); 1319: } 1320: } 1321: 1322: FSPath.getPath = function(arg) 1326: return new FileMgt().getFSPath(arg); 1327: } 1328: 1329: FSPath.prototype.toString = function() 1332: 1333: FSPath.prototype.toStringOS = function() 1336: 1337: FSPath.prototype.equals = function(other) ) == "true"; 1339: } 1340: 1341: FSPath.prototype.isAncestorPathOf = function(other) ) == "true"; 1343: } 1344: 1345: FSPath.prototype.getPrefix = function() 1348: 1349: FSPath.prototype.append = function(other) ); 1353: } 1354: return this; 1355: } 1356: 1357: FSPath.prototype.splitIntoParentAndFile = function() ; 1360: } 1361: 1362: FSPath.prototype.getAncestors = function() 1368: return retval; 1369: } 1370: 1371: FSPath.prototype.splitFileName = function() 1376: 1377: FSPath.prototype.getPathForVersion = function(version) ))); 1380: } 1381: 1382: FSPath.prototype.getCanonicalPath = function() 1386: 1387: FSPath.prototype.getStandardPath = function() 1391: 1392: FSPath.prototype.isAbsolute = function() 1395: 1396: FSPath.prototype.getAbsolutePath = function() 1400: 1401: FSPath.prototype.isRootPath = function() 1404: 1405: FSPath.prototype.getComponentSeparator = function() 1408: 1409: FSPath.prototype.getOSComponentSeparator = function() 1412: 1413: FSPath.prototype.getMaxPathLength = function() 1416: 1417: FSPath.prototype.getMaxComponentNameLength = function() 1420: // Code of Java Script Block :node 1421: 1422: // A Node object. 1423: function Node(nodeName, nodeType) ); 1431: this.watch("index", implcommon_ignoreAttributeChange); 1432: } 1433: 1434: this._init = function(index, nodeType) 1440: } 1441: 1442: Node.prototype._callModule = function(func, argsarg) ; 1444: if (this.index != undefined && args.index == undefined) 1447: var call = ; 1454: return installer.invokeModuleCall(call); 1455: } 1456: 1457: Node.prototype.getName = function() 1460: 1461: Node.prototype.getFullName = function() 1464: 1465: Node.prototype.getShortPathName = function() 1468: 1469: Node.prototype.getFullNameNoPath = function() 1472: 1473: Node.prototype.getPath = function() 1476: 1477: Node.prototype.getUNCPath = function() 1480: 1481: Node.prototype.getExtension = function() 1484: 1485: Node.prototype.getTimeStamp = function() 1491: 1492: // setTimeStamp does not work on syslib level. 1493: // Node.prototype.setTimeStamp = function(stamp) 1499: 1500: Node.prototype.getVersion = function() 1503: 1504: Node.prototype.getParentDirectory = function() 1508: 1509: Node.prototype.saveVersion = function(copyACLarg) )); 1512: } 1513: 1514: Node.prototype.revertVersion = function() 1517: 1518: Node.prototype.revertToVersion = function(version) )); 1520: } 1521: 1522: Node.prototype.isInRootDirectory = function() 1525: 1526: Node.prototype.getNodeType = function() 1529: 1530: Node.prototype.getChildNodes = function() 1533: 1534: Node.prototype.takeVisitor = function(visitor) {} 1535: 1536: Node.prototype.getACL = function() 1539: 1540: Node.prototype.setACL = function(acl, mode) ; 1544: args.mode = mode || "INHERITNONE"; 1545: this._callModule("setACL", args); 1546: } 1547: 1548: Node.prototype.copy = function(target, modearg) ) == "true"; 1551: } 1552: 1553: Node.prototype.copyDir = function(target, mode) 1556: 1557: Node.prototype.move = function(target) ); 1559: this.nodeName = target; 1560: } 1561: 1562: Node.prototype.remove = function() 1569: 1570: Node.prototype.getFileStream = function(mode) 1573: 1574: Node.prototype.getSize = function() 1578: 1579: Node.prototype.getTotalSize = function() 1583: 1584: Node.prototype.chmod = function(mode) $/; 1589: var op = "SET"; 1590: if (!numeric.test(modes<i>)) else 1596: } 1597: this._callModule("chmod", ); 1598: } 1599: } 1600: } 1601: 1602: Node.prototype.convertMode = function(mode) 1608: var who = match[1]; 1609: var a = who.indexOf("a") != -1; 1610: var u = a || who.indexOf("u") != -1; 1611: var g = a || who.indexOf("g") != -1; 1612: var o = a || who.indexOf("o") != -1; 1613: 1614: var op = match[2]; 1615: 1616: var what = match[3] || ""; 1617: var ro = what.indexOf("r") != -1; 1618: var wo = what.indexOf("w") != -1; 1619: var xo = what.indexOf("x") != -1; 1620: var Xo = what.indexOf("X") != -1; 1621: var so = what.indexOf("s") != -1; 1622: var to = what.indexOf("t") != -1; 1623: var uo = what.indexOf("u") != -1; 1624: var go = what.indexOf("g") != -1; 1625: var oo = what.indexOf("o") != -1; 1626: 1627: 1628: var oldmode = (op == "=" && !Xo) ? "0000" : this.getmod(); 1629: var olds = Number(oldmode.substr(0, 1)); 1630: var oldu = Number(oldmode.substr(1, 1)); 1631: var oldg = Number(oldmode.substr(2, 1)); 1632: var oldo = Number(oldmode.substr(3, 1)); 1633: 1634: function bit(who, old, type) 1638: if (uo) 1641: if (go) 1644: if (oo) 1647: var ret = 0; 1648: if (ro) 1651: if (wo) 1654: if (xo) 1657: if (Xo && (type == "DIRECTORY" || (old & 1))) 1660: return ret; 1661: } 1662: var sbit = 0; 1663: if (u && so) 1666: if (g && so) 1669: if (to) 1672: 1673: var ubit = bit(u, oldu, this.nodeType); 1674: var gbit = bit(g, oldg, this.nodeType); 1675: var obit = bit(o, oldo, this.nodeType); 1676: switch (op) 1692: var newmode = String(sbit) + String(ubit) + String(gbit) + String(obit); 1693: installer.writeTrace("Symbolic mode " + mode + " with old mode " + oldmode + " is converted to " + newmode); 1694: return newmode; 1695: } 1696: 1697: Node.prototype.getmod = function() 1700: 1701: Node.prototype.getown = function() 1704: 1705: Node.prototype.chown = function(owner) ); 1708: } 1709: } 1710: 1711: Node.prototype.getgrp = function() 1714: 1715: Node.prototype.chgrp = function(group) ); 1718: } 1719: } 1720: 1721: Node.prototype.getPathObject = function() 1724: 1725: Node.prototype.convertToASCII = function() 1733: 1734: var control = new Array(); 1735: 1736: control["ProgramArguments"] = "--file " + this.nodeName + " --to ASCII"; 1737: control["Program"] = installer.getInstallationParameter("INSTPARA_EXE_DIR") +"/conv390.sh"; 1738: 1739: installer.invokeModuleCall(); 1740: 1741: return "ok"; 1742: } 1743: 1744: Node.prototype.convertToEBCDIC = function() 1752: 1753: var control = new Array(); 1754: 1755: control["ProgramArguments"] = "--file " + this.nodeName + " --to EBCDIC"; 1756: control["Program"] = installer.getInstallationParameter("INSTPARA_EXE_DIR") + "/conv390.sh"; 1757: 1758: installer.invokeModuleCall(); 1759: 1760: return "ok"; 1761: } 1762: 1763: Node.prototype.tagASCII = function() 1770: 1771: var control = new Array(); 1772: 1773: control["ProgramArguments"] = "-tc ISO8859-1 " + this.nodeName; 1774: control["Program"] = "/bin/chtag"; 1775: 1776: installer.invokeModuleCall(); 1777: 1778: return "ok"; 1779: } 1780: 1781: Node.prototype.tagEBCDIC = function() 1788: 1789: var control = new Array(); 1790: 1791: control["ProgramArguments"] = "-tc IBM-1047 " + this.nodeName; 1792: control["Program"] = "/bin/chtag"; 1793: 1794: installer.invokeModuleCall(); 1795: 1796: return "ok"; 1797: } 1798: 1799: function ChmodVisitor(opts, pattern) 1806: } 1807: this.visitFile = function(node) 1814: } 1815: if ("chown" in this) 1818: if ("chgrp" in this) 1821: if ("chmod" in this) 1824: } 1825: this.visitDirectory = this.visitFile; 1826: this.visitLink = function(link) 1834: } else 1837: } 1838: } 1839: ChmodVisitor.prototype = new NodeVisitor; 1840: 1841: function NodeTimeStamp() else 1850: this.dates.push(stamp); 1851: } 1852: } 1853: 1854: NodeTimeStamp.prototype.getCreationTime = function() 1857: NodeTimeStamp.prototype.ctime = NodeTimeStamp.prototype.getCreationTime; 1858: 1859: NodeTimeStamp.prototype.getModificationTime = function() 1862: NodeTimeStamp.prototype.mtime = NodeTimeStamp.prototype.getModificationTime; 1863: 1864: NodeTimeStamp.prototype.getAccessTime = function() 1867: NodeTimeStamp.prototype.atime = NodeTimeStamp.prototype.getAccessTime; 1868: 1869: NodeTimeStamp.prototype.toString = function() 1874: // Code of Java Script Block :stream 1875: 1876: // This is implementation of the Stream class. 1877: 1878: // Stream is an abstract base class for Streams. It is unusable. 1879: // Use derived classes. 1880: function Stream() 1882: Stream.prototype.putLine = function() { implcommon_purevirtual("Stream.putLine()"); }; 1883: Stream.prototype.getLine = function() { implcommon_purevirtual("Stream.getLine()"); }; 1884: Stream.prototype.getIterator = function() { implcommon_purevirtual("Stream.getIterator()"); }; 1885: Stream.prototype.eof = function() { implcommon_purevirtual("Stream.eof()"); }; 1886: Stream.prototype.fail = function() { implcommon_purevirtual("Stream.fail()"); }; 1887: Stream.prototype.close = function() { implcommon_purevirtual("Stream.close()"); }; 1888: Stream.prototype.copy = function(stream) 1892: } 1893: Stream.prototype.grep = function(re) 1900: } 1901: return result; 1902: } 1903: // Code of Java Script Block :filestreamiter 1904: 1905: function FileStreamIter(stream) ); 1910: this.watch("index", implcommon_ignoreAttributeChange); 1911: } 1912: } 1913: FileStreamIter.prototype = new Iter(); 1914: FileStreamIter.prototype.isDone = function() ) == "true"; 1916: } 1917: FileStreamIter.prototype.get = function() ); 1919: } 1920: FileStreamIter.prototype.next = function() ); 1922: } 1923: // Code of Java Script Block :filestream 1924: 1925: function FileStream(node, openMode) ); 1929: this.watch("index", implcommon_ignoreAttributeChange); 1930: } 1931: } 1932: FileStream.prototype = new Stream(); 1933: FileStream.prototype.putLine = function(line) ); 1935: } 1936: 1937: FileStream.prototype.getLine = function() ); 1939: } 1940: 1941: FileStream.prototype.getIterator = function() 1944: 1945: FileStream.prototype.eof = function() ) == "true"; 1947: } 1948: 1949: FileStream.prototype.fail = function() ) == "true"; 1951: } 1952: 1953: FileStream.prototype.close = function() ); 1955: } 1956: 1957: FileStream.prototype.rewind = function() ); 1959: } 1960: // Code of Java Script Block :file 1961: 1962: // A File object. 1963: function File(nodeName, nodeType) 1967: File.prototype = new Node; 1968: 1969: File.prototype.takeVisitor = function (visitor) 1972: File.prototype.getFileStream = function(mode) 1975: 1976: File.prototype.grep = function(re) 1981: // Code of Java Script Block :diriter 1982: 1983: function DirectoryIter(dir, pattern) else 1996: } else 1999: this._callModule = FileMgt.prototype._callModule; 2000: this.index = this._callModule("newIterator", ); 2001: if (this.index != undefined) 2004: if (!this.isDone() && 2005: this.regexp != undefined && 2006: !this.regexp.test(this._callModule("iteratorGet", ))) 2009: } 2010: DirectoryIter.prototype = new NodeIter; 2011: DirectoryIter.prototype.isDone = function() ) == "true"; 2013: } 2014: DirectoryIter.prototype.get = function() 2022: }; 2023: DirectoryIter.newSAPinst = installer.existMemberFunction(call); 2024: } 2025: if (DirectoryIter.newSAPinst) )); 2027: return new FileMgt()._getNodeFromIndex(index); 2028: } else ); 2030: return new FileMgt().getNode(this.node.nodeName + "/" + filename); 2031: } 2032: } 2033: DirectoryIter.prototype.next = function() ); 2036: } while(!this.isDone() && 2037: this.regexp != undefined && 2038: !this.regexp.test(this._callModule("iteratorGet", ))); 2039: } 2040: // Code of Java Script Block :directory 2041: 2042: // A Directory object. 2043: function Directory(nodeName, nodeType) 2047: Directory.prototype = new Node; 2048: 2049: Directory.prototype.getChildNodes = function(pattern) 2052: 2053: Directory.prototype.takeVisitor = function(visitor) 2057: 2058: Directory.prototype.copyDir = function(target, mode) 2065: var retval = false; 2066: for (var it = this.getChildNodes(); ! it.isDone(); it.next()) else 2077: if (thisret) 2080: } 2081: return retval; 2082: } 2083: // Code of Java Script Block :linkiter 2084: 2085: function LinkIter(node) 2089: LinkIter.prototype = new NodeIter; 2090: LinkIter.prototype.isDone = function() 2093: LinkIter.prototype.get = function() 2096: LinkIter.prototype.next = function() else 2103: } 2104: } 2105: // Code of Java Script Block :link 2106: 2107: // A Link object. 2108: function Link(nodeName, nodeType) 2112: Link.prototype = new Node; 2113: 2114: Link.prototype.getChildNodes = function() 2117: Link.prototype.takeVisitor = function(visitor) 2120: Link.prototype.getTarget = function() ); 2122: if (path.substr(0,1) == "/") else 2127: } 2128: Link.prototype.getTargetName = function() ); 2130: } 2131: Link.prototype.resolveTarget = function() 2136: return node; 2137: } 2138: // Code of Java Script Block :fsexport 2139: 2140: // This is the implementation of the FSExport object. 2141: 2142: // The constructor is private. Use FileMgt.getFSExport(). 2143: function FSExport(index) 2148: } 2149: FSExport.prototype._callModule = function(func, argsarg) ; 2151: if (this.index != undefined) 2154: var call = ; 2161: return installer.invokeModuleCall(call); 2162: } 2163: 2164: FSExport.prototype.getShareName = function() 2167: 2168: FSExport.prototype.getMountPoint = function() 2173: return node; 2174: } 2175: 2176: FSExport.prototype.getFSName = function() 2179: 2180: FSExport.prototype.getMountPointPathObject = function() 2183: 2184: FSExport.prototype.getShareDescription = function() 2187: 2188: FSExport.prototype.getExportOptions = function() 2191: 2192: FSExport.prototype.setExportOptions = function(options) ); 2194: } 2195: 2196: FSExport.prototype.isInUse = function() 2199: 2200: FSExport.prototype.isShared = function() 2203: 2204: FSExport.prototype.getACL = function() 2207: 2208: FSExport.prototype.setACL = function(acl) ); 2210: } 2211: 2212: FSExport.prototype.share = function() 2215: 2216: FSExport.prototype.unshare = function() 2219: // Code of Java Script Block :fsexportiter 2220: 2221: function FSExportIter() 2226: this.watch("index", implcommon_ignoreAttributeChange); 2227: } 2228: FSExportIter.prototype = new Iter; 2229: FSExportIter.prototype.isDone = FSExportIterisDone; 2230: FSExportIter.prototype.get = FSExportIterget; 2231: FSExportIter.prototype.next = FSExportIternext; 2232: 2233: function FSExportIterisDone() ) == "true"; 2236: } else 2239: } 2240: 2241: function FSExportIterget() )); 2243: } 2244: 2245: function FSExportIternext() ); 2247: } 2248: // Code of Java Script Block :fsmount 2249: 2250: function FSMount(index) ; 2253: if (this.index != undefined) 2256: var call = ; 2263: return installer.invokeModuleCall(call); 2264: } 2265: if (index != undefined) 2269: } 2270: 2271: FSMount.prototype.getMountPoint = function() else 2279: } 2280: 2281: FSMount.prototype.getFreeSpace = function() 2284: 2285: FSMount.prototype.getUsedSpace = function() 2288: 2289: FSMount.prototype.getSize = function() else 2297: } 2298: 2299: FSMount.prototype.getQuota = function() 2302: 2303: FSMount.prototype.getFSName = function() 2306: 2307: FSMount.prototype.getDriveLetter = function() 2311: var mountpoint = this.getMountPoint(); 2312: if (!mountpoint) 2315: return mountpoint.getFullName().substr(0,2); 2316: } 2317: 2318: FSMount.prototype.getFSType = function() 2321: 2322: FSMount.prototype.supportsACLs = function() 2325: 2326: FSMount.prototype.getMountOptions = function() 2329: 2330: FSMount.prototype.isInUse = function() else 2337: } 2338: 2339: FSMount.prototype.isMounted = function() 2342: 2343: FSMount.prototype.getMountPointPathObject = function() 2346: // Code of Java Script Block :fsmountiter 2347: 2348: function FSMountIter() 2353: FSMountIter.prototype = new Iter; 2354: FSMountIter.prototype.isDone = FSMountIterisDone; 2355: FSMountIter.prototype.get = FSMountIterget; 2356: FSMountIter.prototype.next = FSMountIternext; 2357: 2358: function FSMountIterisDone() ) == "true"; 2360: } 2361: 2362: function FSMountIterget() )); 2364: } 2365: 2366: function FSMountIternext() ); 2368: } 2369: // Code of Java Script Block :systeminfo 2370: 2371: function SystemInfo () 2373: 2374: SystemInfo.prototype._callModule = function(method, argsval) ; 2376: var callSpec = 2377: return installer.invokeModuleCall(callSpec); 2378: } 2379: SystemInfo.prototype._existModule = function(method) } 2381: return installer.existMemberFunction(callSpec); 2382: } 2383: SystemInfo.prototype.getOSName = function() { return this._callModule("getOSName"); } 2384: SystemInfo.prototype.getOSFAName = function() { return this._callModule("getOSFAName"); } 2385: // getRealOSFAName() needs not be known in JS. 2386: SystemInfo.prototype.getOSUname = function() { return this._callModule("getOSUname"); } 2387: SystemInfo.prototype.getOSBits = function() { return this._callModule("getOSBits"); } 2388: SystemInfo.prototype.getCPUCount = function() { return Number(this._callModule("getCPUCount")); } 2389: SystemInfo.prototype.getRamSize = function() { return Math.round(Number(this._callModule("getRamSize"))); } 2390: SystemInfo.prototype.getSwapSize = function() { return Math.round(Number(this._callModule("getSwapSize"))); } 2391: SystemInfo.prototype.getOSVersionMajor = function() { return this._callModule("getOSVersionMajor"); } 2392: SystemInfo.prototype.getOSVersionMinor = function() { return this._callModule("getOSVersionMinor"); } 2393: SystemInfo.prototype.getOSVersionBuild = function() { return this._callModule("getOSVersionBuild"); } 2394: SystemInfo.prototype.getKernelParameters = function() ; 2397: } 2398: return eval(this._callModule("getKernelParameters")); 2399: } 2400: SystemInfo.prototype.getRuntimeOSFAName = function() else 2407: } 2408: 2409: SystemInfo.prototype.getOSCTRUNName = function() 2424: } 2425: // Code of Java Script Block :property 2426: 2427: // This is the implementation of the Property object. 2428: 2429: function Property(name, value) 2435: } 2436: 2437: Property.prototype.name = function() 2440: 2441: Property.prototype.value = function() 2445: // Code of Java Script Block :registry 2446: 2447: function RegistrycallModule(func, argsarg) ; 2449: if (this.index != undefined && args.index == undefined) 2452: if ("subKey" in args) 2455: var call = ; 2462: return installer.invokeModuleCall(call); 2463: } 2464: 2465: 2466: function RegistryHive(name, hostnameArg) ) == "true"; 2471: } 2472: 2473: this.getKey = function(subKey) 2478: 2479: this.createKey = function(subKey) )), 2482: subKey); 2483: } 2484: 2485: this.deleteKey = function(subKey) 2490: } 2491: 2492: if (name != undefined) 2498: } 2499: 2500: function RegistryKey(hive, index, subKey) else 2509: } 2510: 2511: this.getFullName = function() 2514: 2515: this.isValueExisting = function(name) ) == "true"; 2517: } 2518: 2519: this.getValue = function(name) ); 2521: var evaled = eval(val); 2522: return evaled == undefined ? undefined : new Property(name, evaled); 2523: } 2524: 2525: this.setValue = function(value, typearg) ; 2531: var func = "setValue"; 2532: switch (type) else 2544: for (var prop in values) 2547: func = "setMultiValue"; 2548: break; 2549: default: 2550: args.value = value.value(); 2551: break; 2552: } 2553: this._callModule(func, args); 2554: } 2555: 2556: this.appendValue = function(value, type, sep) 2559: 2560: this.prependValue = function(value, type, sep) 2563: 2564: this.appendOrPrependValue = function(append, value, type, separg) else else 2579: this.setValue(new Property(value.name(), values.join(sep)), type); 2580: } 2581: } 2582: } 2583: 2584: this.deleteValue = function(name) ); 2587: } 2588: } 2589: 2590: this.deleteKey = function() 2593: 2594: this.getValues = function() 2597: 2598: this.getSubkeys = function() 2601: 2602: if (index != undefined) 2609: } 2610: 2611: function RegistryValueIter(index) 2617: 2618: this.next = function() 2621: 2622: this.get = function() 2626: 2627: if (index != undefined) 2631: } 2632: RegistryValueIter.prototype = new Iter; 2633: 2634: function RegistryKeyIter(hive, index) 2640: 2641: this.next = function() 2644: 2645: this.get = function() 2648: 2649: if (index != undefined) 2654: } 2655: RegistryKeyIter.prototype = new Iter; 2656: // Code of Java Script Block :systemmgt 2657: 2658: function SystemMgt () 2660: 2661: SystemMgt.prototype._callModule = SystemInfo.prototype._callModule; 2662: 2663: SystemMgt.prototype.getSpecialPath = function(which) ); 2666: } else 2669: } 2670: 2671: SystemMgt.prototype.getSystemInfo = function() 2674: 2675: SystemMgt.prototype.reboot = function(passwordarg, commandarg) ); 2679: while (true) 2682: } 2683: 2684: SystemMgt.prototype.reLogin = function(user, passwordarg, commandarg) ); 2689: while (true) 2692: } 2693: 2694: SystemMgt.prototype.registerForRestart = function() 2698: 2699: gui.update("Registering SAPinst for Restart..."); 2700: 2701: // Prepare for restart. 2702: // Copy sapinst.exe. 2703: var mgt = new FileMgt(); 2704: var pmgt = new ProcessMgt(); 2705: var sapinstName = "sapinst.exe"; 2706: var target = installer.getInstallationParameter("INSTPARA_START_DIR"); 2707: var sapinstExe = target + " " + sapinstName; 2708: if (! mgt.isExisting(sapinstExe)) 2716: } else 2719: } 2720: 2721: // Register in registry. 2722: var targetNode = mgt.getNode(target); 2723: ASSERT_DEFINED(arguments.callee, targetNode, "targetNode(" + target + ")"); 2724: target = targetNode.getShortPathName(); 2725: target = target.replace(/ /g, "/"); 2726: 2727: var control = installer.getProperty("SAPINST_CONTROL_URL").value(); 2728: control = control.replace(/ /g, "/"); 2729: 2730: if (control.substr(0, 2) != "//" && control.substr(1, 1) != ":") 2733: sapinstExe = sapinstExe.replace(///g, " "); 2734: var hive = new RegistryHive("HKEY_CURRENT_USER"); 2735: var runOnce = hive.createKey("Software/Microsoft/Windows/CurrentVersion/RunOnce"); 2736: 2737: var cmd = '"' + sapinstExe + '" SAPINST_CONTROL_URL=' + control + ' SAPINST_CWD=' + target; 2738: runOnce.setValue(new Property("Complete SAP Installation", cmd)); 2739: } 2740: 2741: SystemMgt.prototype.checkForPendingInstallation = function() 2745: var hive = new RegistryHive("HKEY_LOCAL_MACHINE"); 2746: var key = hive.getKey("SYSTEM/CurrentControlSet/Control/Session Manager"); 2747: if (key) else 2760: } 2761: } 2762: } 2763: // Code of Java Script Block :accountiter 2764: 2765: // This is the definition of the AccountIter object. 2766: 2767: // The constructor is private. 2768: function AccountIter(index) 2774: } 2775: AccountIter.prototype = new Iter; 2776: 2777: AccountIter.prototype.isDone = function() 2780: AccountIter.prototype.get = function() 2783: 2784: AccountIter.prototype.next = function() 2787: // Code of Java Script Block :account 2788: 2789: // This is the definition of the Account object. 2790: 2791: // The constructor is private. Use AccountMgt.getUser() or AccountMgt.getGroup(). 2792: function Account(index) 2798: } 2799: 2800: Account.prototype.getAccountType = function() 2803: 2804: Account.prototype.getId = function() 2807: 2808: Account.prototype.getName = function() 2811: 2812: Account.prototype.getDomain = function() 2815: 2816: Account.prototype.getFullName = function() 2821: name += this.getName(); 2822: return name; 2823: } 2824: 2825: Account.prototype.getDescription = function() 2828: 2829: Account.prototype.setDescription = function(description) ); 2831: } 2832: 2833: Account.prototype.isRoot = function(ofDomain) 2841: if (id == mgt.getAdministratorsId() || id == mgt.getSystemId()) 2844: } 2845: return this._callModule("isRoot", ) == "true"; 2846: } 2847: 2848: Account.prototype.isBuiltin = function() 2853: 2854: Account.prototype.cancelMembership = function(group) ); 2856: } 2857: 2858: Account.prototype.setMembership = function(group) 2862: this._callModule("setMembership", ); 2863: } 2864: 2865: Account.prototype.getMembership = function() 2868: 2869: Account.prototype.isMember = function(group) 2874: return this._callModule("isMember", ) == "true"; 2875: } 2876: 2877: Account.prototype.remove = function() 2880: 2881: Account.prototype.rename = function(newName) ); 2883: } 2884: 2885: Account.prototype.addPrivileges = function(privs) 2888: 2889: Account.prototype.removePrivileges = function(privs) 2892: 2893: Account.prototype._doPrivileges = function(privs, what) ; 2896: client.keymap["pNT_COMPUTER_NAME"] = "('')"; 2897: client.keymap["pNT_ACCOUNT_NAME"] = "('')"; 2898: client.keymap["pNT_USER_PRIVILEGES"] = "('')"; 2899: installer.setKdbClient(client); 2900: var args = ; 2905: var call = ; 2906: return installer.invokeModuleCall(call) == "relogon"; 2907: } 2908: } 2909: // Code of Java Script Block :arrayiter 2910: 2911: function ArrayIter(array) 2917: } 2918: ArrayIter.prototype = new Iter; 2919: ArrayIter.prototype.isDone = function() 2922: ArrayIter.prototype.get = function() 2925: ArrayIter.prototype.next = function() 2928: // Code of Java Script Block :stringstream 2929: 2930: function StringStream(string) 2934: StringStream.prototype = new Stream(); 2935: StringStream.prototype.getIterator = function() 2940: StringStream.prototype.putLine = function(line) 2945: } 2946: StringStream.prototype.getString = function() 2949: // Code of Java Script Block :sed 2950: 2951: function SedPattern(regexp, replacement) 2955: 2956: // Sed is an abstract base class for Stream Editors. It is unusable. 2957: // Use derived classes. 2958: 2959: // Source and Target have to be derived from Stream. 2960: function Sed(source, target) 2971: } 2972: Sed.prototype.line = function(line) 2975: Sed.prototype.validLine = function(line) 2978: Sed.prototype.run = function() 2985: } 2986: } 2987: Sed.prototype.replacePatterns = function(patterns) 2994: if (this.validLine(line)) 2997: } 2998: } 2999: Sed.prototype._checkRun = function() 3003: if (this.target == undefined) 3006: } 3007: // Code of Java Script Block :commentproperty 3008: 3009: // This is the public interface to the CommentProperty object. 3010: // Don't include the dependent files directly. 3011: 3012: // Constructor function for a CommentProperty object. 3013: // It is used for modeling a Comment in a Property file. 3014: function CommentProperty(value) 3018: CommentProperty.prototype = new Property; 3019: // Code of Java Script Block :properties 3020: 3021: // This is the definition of the Properties object. 3022: 3023: // A Properties object. 3024: function Properties(properties) 3030: } 3031: } 3032: 3033: Properties.prototype.add = function(prop) 3038: } else else else 3049: } 3050: } 3051: return this.container.length; 3052: } 3053: 3054: Properties.prototype.get = function(key) 3059: } 3060: return undefined; 3061: } 3062: 3063: 3064: Properties.prototype.propertyNames = function() 3067: 3068: Properties.prototype.clear = function() 3071: 3072: Properties.prototype.size = function() 3075: 3076: Properties.prototype.dump = function() 3081: r += " }"; 3082: return r; 3083: } 3084: 3085: Properties.prototype.remove = function(key) 3090: } 3091: return undefined; 3092: } 3093: 3094: Properties.prototype.equals = function(other) ; 3096: installer.writeTrace("Properties.equals(): Comparing this : " + this + "and other: " + other); 3097: // Collect the content of other in a hash for easy access. 3098: for (var it = other.propertyNames(); ! it.isDone(); it.next()) 3103: } 3104: for (var it = this.propertyNames(); ! it.isDone(); it.next()) 3111: if (p.value() != otherp[p.name()]) 3115: // Remove this one, it was ok. 3116: delete otherp[p.name()]; 3117: } 3118: } 3119: for (var p in otherp) 3123: installer.writeTrace("this and other have the same content. Returning true."); 3124: return true; 3125: } 3126: 3127: Properties.prototype.toString = function() 3133: return result; 3134: } 3135: 3136: Properties.prototype.toArray = function() 3139: // Code of Java Script Block :user 3140: 3141: // This is the public implementation of the User object. 3142: function User(index) 3146: User.prototype = new Account; 3147: 3148: User.prototype.getHomeDirectory = function() 3151: 3152: User.prototype.getLoginShell = function() 3155: 3156: User.prototype.getPrimaryGroup = function() else 3164: } 3165: 3166: User.prototype.hasPassword = function() 3169: 3170: User.prototype.checkPassword = function(password) ) == "true"; 3172: } 3173: 3174: User.prototype.removeWithoutHome = function() 3177: 3178: User.prototype.setLoginShell = function(shell) ); 3180: } 3181: 3182: User.prototype.setPassword = function(password) ); 3184: } 3185: 3186: User.prototype.setPrimaryGroup = function(group) ); 3188: } 3189: 3190: User.prototype.getUserData = function() ; 3199: if (!installer.onWindows()) 3203: for (var it = this.getMembership(); !it.isDone(); it.next()) 3206: return userdata; 3207: } 3208: 3209: User.prototype.setEnvironment = function(prop, type, password) 3212: 3213: User.prototype.setEnvironmentUnlessExists = function(prop, type, password) 3216: 3217: User.prototype.appendToEnvironment = function(prop, type, password) 3220: 3221: User.prototype.prependToEnvironment = function(prop, type, password) 3224: 3225: User.prototype._envDo = function(what, prop, typearg, password) 3234: var type = typearg || "REG_EXPAND_SZ"; 3235: var hive = new RegistryHive("HKEY_CURRENT_USER"); 3236: var env = hive.createKey("Environment"); 3237: switch (what) 3245: break; 3246: case "appendValue": 3247: env.appendValue(prop, type); 3248: break; 3249: case "prependValue": 3250: env.prependValue(prop, type); 3251: break; 3252: } 3253: if (back) 3256: } 3257: } 3258: 3259: User.prototype.appendLogonScript = function(targetName, sourceName) 3262: 3263: User.prototype.replaceLogonScript = function(targetName, sourceName, patterns) 3266: 3267: User.prototype._doLogonScript = function(mode, targetName, sourceName, patternsArg) 3277: var inStream = source.getFileStream("READ"); 3278: if (inStream == undefined) 3281: var stringStream = new StringStream(); 3282: stringStream.copy(inStream); 3283: var template = stringStream.getString(); 3284: 3285: // switch users to this 3286: var cpe = new ProcessMgt().getCurrentProcessEnvironment(); 3287: var old = cpe.getEffectiveUser(); 3288: var back = false; 3289: var oldGroup; 3290: if (old.getId() != this.getId()) 3296: 3297: // create target file 3298: var fqtarget = this.getHomeDirectory() + "/" + targetName; 3299: var target = mgt.getNode(fqtarget); 3300: var saveVersion = true; 3301: if (target == undefined) 3305: 3306: // read target 3307: var targetIn = target.getFileStream("READ"); 3308: if (targetIn == undefined) 3311: stringStream = new StringStream(); 3312: stringStream.copy(targetIn); 3313: targetIn.close(); 3314: var targetContent = stringStream.getString(); 3315: if (mode == "append") 3321: target.chmod("u+w"); 3322: var outStream = target.getFileStream("WRITE"); 3323: if (outStream == undefined) 3326: outStream.putLine(template); 3327: outStream.close(); 3328: } 3329: } else 3340: target.chmod("u+w"); 3341: var targetOut = target.getFileStream("TRUNCATE"); 3342: if (targetOut == undefined) 3345: targetOut.copy(replaced); 3346: targetOut.close(); 3347: } 3348: } 3349: 3350: // switch users back 3351: if (back) 3355: } 3356: } 3357: 3358: User.prototype.getLoginEnvironment = function(password) ; 3377: var result = " " 3378: while (true) 3383: result += line + " "; 3384: // Don't match variable names with _ at the beginning 3385: var match = /([=])=(.)$/.exec(line); 3386: if (match != null) 3393: } 3394: } 3395: var retcode = app.getReturnCode(true); 3396: var status = app.getStatus(); 3397: if (status != "TST_FINISHED") 3400: if (retcode != 0) 3403: } 3404: 3405: if (installer.onWindows()) 3413: 3414: var hive = new RegistryHive("HKEY_CURRENT_USER"); 3415: var envKey = hive.getKey("Environment"); 3416: for (var it = envKey.getValues(); ! it.isDone(); it.next()) else 3423: } 3424: 3425: if (back) 3428: } else { // not on windows 3429: // switch users to this 3430: var pe = mgt.getProcessEnvironment(); 3431: var cpe = mgt.getCurrentProcessEnvironment(); 3432: 3433: var old = cpe.getEffectiveUser(); 3434: if (old.getId() != this.getId()) { 3435: if (!old.isRoot()) { 3436: installer.writeWarning("modlib.jslib.getEnvFailedNotRoot", this.getName()); 3437: return env; 3438: } else 3441: } 3442: 3443: var app = mgt.createChildApplication(); 3444: app.setExecutable("/bin/csh"); 3445: // Sun, Linux, DEC 3446: var fmgt = new FileMgt(); 3447: var home = this.getHomeDirectory(); 3448: pe.setEnvironmentVariable(new Property("HOME", home)); 3449: pe.setEnvironmentVariable(new Property("LOGNAME", this.getName())); 3450: pe.setEnvironmentVariable(new Property("USER", this.getName())); 3451: pe.setEnvironmentVariable(new Property("TERM", "vt100")); 3452: app.setEnvironment(pe); 3453: var script = ""; 3454: if (fmgt.isExisting(home + "/.chsrc")) else if (fmgt.isExisting(home + "/.login")) 3459: app.setArguments(["-c", script + "env"]); 3460: runSet(app); 3461: } 3462: return env; 3463: } 3464: 3465: User.prototype.getProcessEnvironment = function(password, group) 3475: env.setUser(this, password); 3476: } 3477: 3478: if (installer.onOS400()) 3479: return env; 3480: 3481: if (installer.onUnix() && group) 3488: var currentGroup = current.getGroup(); 3489: if (group.getId() != currentGroup.getId()) 3492: } 3493: var path = []; 3494: var props = this.getLoginEnvironment(password); 3495: for (var it = props.propertyNames(); ! it.isDone(); it.next()) 3501: } 3502: path.push[current.getEnvironmentVariable("PATH").value()]; 3503: var pp = new Property("PATH", path.join(installer.onUnix() ? ":" : ";")); 3504: env.setEnvironmentVariable(pp); 3505: return env; 3506: } 3507: 3508: User.prototype.getPassword = function(inputPassword) ); 3510: } 3511: // Code of Java Script Block :impl_nicip 3512: 3513: // This is the public interface to the NICIPAddress object. 3514: // Don't include the dependent files directly. 3515: 3516: // Constructor of an NICIPAddress. 3517: function NICIPAddress(index) 3522: this._callModule = NetworkMgt.prototype._callModule; 3523: } 3524: 3525: function NICIPAddressgetIPAddress() 3528: 3529: function NICIPAddressgetSubnetMask() 3532: // Code of Java Script Block :nicip 3533: 3534: // This is the public interface to the IPAddress object. 3535: // Don't include the dependent files directly. 3536: 3537: // The constructor of an NICIPAddress is private. 3538: // Use NIC.getIPAddresses() 3539: 3540: // string getIPAddress() 3541: // return the string representation of the IP address. 3542: NICIPAddress.prototype.getIPAddress = NICIPAddressgetIPAddress; 3543: 3544: // string getSubnetMask() 3545: // return the string representation of the Subnet Mask. 3546: NICIPAddress.prototype.getSubnetMask = NICIPAddressgetSubnetMask; 3547: // Code of Java Script Block :nicipiter 3548: 3549: function NICIPAddressIterator(index) )); 3553: this.watch("index", implcommon_ignoreAttributeChange); 3554: } 3555: } 3556: NICIPAddressIterator.prototype = new Iter; 3557: NICIPAddressIterator.prototype.isDone = NICIPAddressIteratorisDone; 3558: NICIPAddressIterator.prototype.get = NICIPAddressIteratorget; 3559: NICIPAddressIterator.prototype.next = NICIPAddressIteratornext; 3560: 3561: function NICIPAddressIteratorisDone() 3564: 3565: function NICIPAddressIteratorget() 3568: 3569: function NICIPAddressIteratornext() 3572: // Code of Java Script Block :impl_nic 3573: 3574: // A NIC object. 3575: function NIC(index) 3581: } 3582: 3583: function NICgetName() 3586: 3587: function NICgetIPAddresses() 3590: // Code of Java Script Block :nic 3591: 3592: // This is the public interface to the NIC object. 3593: // Don't include the dependent files directly. 3594: 3595: // The constructor is private. Use NetworkMgt.getNICs(). 3596: 3597: // string getName() 3598: // return the name of the nic. 3599: NIC.prototype.getName = NICgetName; 3600: 3601: // Iter getIPAddresses() 3602: NIC.prototype.getIPAddresses = NICgetIPAddresses; 3603: // Code of Java Script Block :niciter 3604: 3605: function NICIter() 3610: NICIter.prototype = new Iter; 3611: NICIter.prototype.isDone = NICIterisDone; 3612: NICIter.prototype.get = NICIterget; 3613: NICIter.prototype.next = NICIternext; 3614: 3615: function NICIterisDone() 3618: 3619: function NICIterget() 3622: 3623: function NICIternext() 3626: // Code of Java Script Block :netiter 3627: 3628: function NetIter(prefix, index) )); 3633: this.watch("index", implcommon_ignoreAttributeChange); 3634: } 3635: } 3636: NetIter.prototype = new Iter; 3637: NetIter.prototype.isDone = NetIterisDone; 3638: NetIter.prototype.get = NetIterget; 3639: NetIter.prototype.next = NetIternext; 3640: 3641: function NetIterisDone() 3644: 3645: function NetIterget() 3648: 3649: function NetIternext() 3652: // Code of Java Script Block :impl_hostsentry 3653: 3654: // This is the public interface to the HostsEntry object. 3655: // Don't include the dependent files directly. 3656: 3657: // Constructor of an HostsEntry. 3658: function HostsEntry(index) 3664: } 3665: 3666: function HostsEntryclear() 3669: 3670: function HostsEntryaddName(name) ); 3672: } 3673: 3674: function HostsEntryaddIPAddress(ipAddress) ); 3676: } 3677: 3678: function HostsEntrygetHostNames() 3681: 3682: function HostsEntrygetIPAddresses() 3685: 3686: function HostsEntryset(name, address) ); 3688: } 3689: 3690: function HostsEntrygetFromHosts() 3693: 3694: function HostsEntryaddToHosts(mode) ); 3696: } 3697: // Code of Java Script Block :hostsentry 3698: 3699: // This is the public interface to the HostsEntry object. 3700: // Don't include the dependent files directly. 3701: 3702: // The constructor of an HostsEntry is private. 3703: // Use IPNameResolver.getHostByName(), IPNameResolver.getHostByAddress() or 3704: // NetworkMgt.createHostsEntry(). 3705: 3706: // clear() 3707: HostsEntry.prototype.clear = HostsEntryclear; 3708: 3709: // void addName(string name) 3710: HostsEntry.prototype.addName = HostsEntryaddName; 3711: 3712: // void addIPAddress(string ipAddress) 3713: HostsEntry.prototype.addIPAddress = HostsEntryaddIPAddress; 3714: 3715: // Iter getHostNames() 3716: HostsEntry.prototype.getHostNames = HostsEntrygetHostNames; 3717: 3718: // Iter getIPAddresses() 3719: HostsEntry.prototype.getIPAddresses = HostsEntrygetIPAddresses; 3720: 3721: // void set(string hostName, string ipAddress) 3722: HostsEntry.prototype.set = HostsEntryset; 3723: 3724: // bool getFromHosts() 3725: HostsEntry.prototype.getFromHosts = HostsEntrygetFromHosts; 3726: 3727: // void addToHosts(writeMode mode) 3728: // writeMode is one of "APPEND" or "REPLACE" 3729: HostsEntry.prototype.addToHosts = HostsEntryaddToHosts; 3730: // Code of Java Script Block :impl_servicesentry 3731: 3732: // This is the public interface to the ServicesEntry object. 3733: // Don't include the dependent files directly. 3734: 3735: // Constructor of an ServicesEntry. 3736: function ServicesEntry(index) 3742: } 3743: 3744: function ServicesEntryclear() 3747: 3748: function ServicesEntryaddName(name) ); 3750: } 3751: 3752: function ServicesEntrysetPortNumber(port) ); 3754: } 3755: 3756: function ServicesEntrygetPortNumber() 3759: 3760: function ServicesEntrysetProtocol(protocol) ); 3762: } 3763: 3764: function ServicesEntrygetProtocol() 3767: 3768: function ServicesEntrygetServiceNames() 3771: 3772: function ServicesEntryset(name, protocol, port) ); 3774: } 3775: 3776: function ServicesEntrygetFromServices() 3779: 3780: function ServicesEntryaddToServices(mode) ); 3782: } 3783: // Code of Java Script Block :servicesentry 3784: 3785: // This is the public interface to the ServicesEntry object. 3786: // Don't include the dependent files directly. 3787: 3788: // The constructor of an ServicesEntry is private. 3789: // Use IPNameResolver.getServiceByName(), IPNameResolver.getServiceByPort() or 3790: // NetworkMgt().createServicesEntry(). 3791: 3792: // clear() 3793: ServicesEntry.prototype.clear = ServicesEntryclear; 3794: 3795: // void addName(string name) 3796: ServicesEntry.prototype.addName = ServicesEntryaddName; 3797: 3798: // void setPortNumber(long port) 3799: ServicesEntry.prototype.setPortNumber = ServicesEntrysetPortNumber; 3800: 3801: // long getPortNumber() 3802: ServicesEntry.prototype.getPortNumber = ServicesEntrygetPortNumber; 3803: 3804: // void setProtocol(string protocol) 3805: ServicesEntry.prototype.setProtocol = ServicesEntrysetProtocol; 3806: 3807: // string getProtocol() 3808: ServicesEntry.prototype.getProtocol = ServicesEntrygetProtocol; 3809: 3810: // Iter getHostNames() 3811: ServicesEntry.prototype.getServiceNames = ServicesEntrygetServiceNames; 3812: 3813: // void set(string serviceName, string protocol, long port) 3814: ServicesEntry.prototype.set = ServicesEntryset; 3815: 3816: // bool getFromServices() 3817: ServicesEntry.prototype.getFromServices = ServicesEntrygetFromServices; 3818: 3819: // void addToServices(writeMode mode) 3820: // writeMode is one of "APPEND" or "REPLACE" 3821: ServicesEntry.prototype.addToServices = ServicesEntryaddToServices; 3822: // Code of Java Script Block :ipresolver 3823: 3824: // This is the public interface to the IPNameResolver object. 3825: // Don't include the dependent files directly. 3826: 3827: // The constructor of an IPNameResolver is private. 3828: // Use Networkmgt.getIPNameResolver() 3829: function IPNameResolver() 3832: IPNameResolver.prototype.getHostByAddress = function(address) ); 3834: if (index < 0) else 3839: } 3840: IPNameResolver.prototype.getHostByName = function(name) ); 3842: if (index < 0) else 3847: } 3848: IPNameResolver.prototype.getServiceByName = function(name, protocol) ); 3850: if (index < 0) else 3855: } 3856: IPNameResolver.prototype.getServiceByPort = function(port, protocol) ); 3858: if (index < 0) else 3863: } 3864: IPNameResolver.prototype.getServices = function() 3867: IPNameResolver.prototype.isNISRunning = function() 3870: IPNameResolver.prototype.checkDNSConfiguration = function() 3881: if (host.length > 13) 3884: var reverse = installer.getHostName(); 3885: if (host.toLowerCase() != reverse.toLowerCase()) else 3896: } 3897: } else 3902: } 3903: 3904: function ServicesIterator() 3920: var match = line.match(/^s*(S)s(d)/(S)/); 3921: if (match != null) 3926: } 3927: this.base = ArrayIter; 3928: this.base(this.services); 3929: } 3930: ServicesIterator.prototype = new ArrayIter(); 3931: // Code of Java Script Block :networkmgt 3932: 3933: // This is the public interface to the NetworkMgt object. 3934: // Don't include the dependent files directly. 3935: 3936: // A NetworkMgt object. 3937: function NetworkMgt() 3939: 3940: NetworkMgt.prototype._callModule = function(func, argsarg) ; 3942: if (this.index != undefined && args.index == undefined) 3945: var call = ; 3952: return installer.invokeModuleCall(call); 3953: } 3954: 3955: NetworkMgt.prototype._existModule = function(func) 3962: }; 3963: return installer.existMemberFunction(call); 3964: } 3965: 3966: NetworkMgt.prototype.getHostName = function() 3969: 3970: NetworkMgt.prototype.getRealHostName = function() 3973: 3974: NetworkMgt.prototype.getNICs = function() 3977: 3978: NetworkMgt.prototype.getNIC = function(name) )); 3980: if (index < 0) 3983: return new NIC(index); 3984: } 3985: 3986: NetworkMgt.prototype.getNameResolver = function() 3989: 3990: NetworkMgt.prototype.createHostsEntry = function() 3993: 3994: NetworkMgt.prototype.createServicesEntry = function() 3997: 3998: NetworkMgt.prototype.getHostsFileName = function() 4001: 4002: NetworkMgt.prototype.getServicesFileName = function() 4005: 4006: NetworkMgt.prototype.useVirtualHost = function() 4009: // Code of Java Script Block :group 4010: 4011: // A Group object. 4012: function Group(index) 4016: Group.prototype = new Account; 4017: 4018: Group.prototype.getMembers = function() else 4024: } 4025: 4026: Group.prototype.addMember = function(account) 4030: this._callModule("addMember", ); 4031: } 4032: 4033: Group.prototype.removeMember = function(account) ); 4035: } 4036: 4037: Group.prototype.makeLocal = function() 4041: var myname = this.getName(); 4042: var myid = this.getId(); 4043: var trc = "Group(" + myname + ").makeLocal(): "; 4044: if (! new NetworkMgt().getNameResolver().isNISRunning()) 4048: var groupName = "/etc/group"; 4049: var fmgt = new FileMgt(); 4050: var group = fmgt.getNode(groupName, true); 4051: ASSERT_DEFINED(arguments.callee, group, "group file " + groupName); 4052: ASSERT(arguments.callee, group.getNodeType() == "FILE", "group file " + groupName + " is not a file"); 4053: var stream = group.getFileStream("READ"); 4054: var sstream = new StringStream(); 4055: sstream.copy(stream); 4056: stream.close(); 4057: var lines = sstream.getString().split(" "); 4058: var groupre = /^(.):(.):(.):(.)$/; 4059: for (var i = 0; i < lines.length; ++i) 4068: } 4069: } 4070: // If we get here, we need to add the group. 4071: var pmgt = new ProcessMgt(); 4072: var ypmatch = pmgt.createChildApplication("ypmatch", [myname, "group.byname"]); 4073: var we = myname + ":*:" + myid + ":"; 4074: if (ypmatch.run() == 0) 4080: } 4081: 4082: // Check if last line starts with +:. Add our line before that. 4083: var pos = lines.length-1; 4084: var ypre = /^+:(.*)$/; 4085: for (; pos > 0; --pos) else if (groupre.test(line)) 4094: } 4095: } 4096: lines.splice(pos, 0, we); 4097: 4098: group.saveVersion(true); 4099: var mode = group.getmod(); 4100: group.chmod("644"); 4101: var stream = group.getFileStream("TRUNCATE"); 4102: ASSERT_DEFINED(arguments.callee, stream, "stream on group file " + groupName); 4103: stream.putLine(lines.join(" ")); 4104: stream.close(); 4105: group.chmod(mode); 4106: installer.writeInfo("modlib.jslib.groupAddedLocally", myname, groupName); 4107: } 4108: // Code of Java Script Block :accountmgt 4109: 4110: // This is the implementation of the AccountMgt object. 4111: 4112: // A AccountMgt object. 4113: function AccountMgt() 4115: 4116: AccountMgt.prototype._callModule = function(func, argsarg) ; 4118: if (this.index != undefined) 4121: var call = ; 4128: return installer.invokeModuleCall(call); 4129: } 4130: 4131: AccountMgt.prototype.createUser = function(userData) ; 4140: if (userData.groups) 4145: // all groups after the first group need to be local! 4146: for (var i = 1; i < userData.groups.length; ++i) 4153: } 4154: } 4155: } 4156: installer.writeTrace("AccountMgt.createUser(" + dump_properties(options) + ")"); 4157: return new User(this._callModule("createUser", options)); 4158: } 4159: 4160: AccountMgt.prototype.createGroup = function(name, idarg) )); 4164: } 4165: 4166: AccountMgt.prototype.getEveryoneId = function() ); 4168: } 4169: 4170: AccountMgt.prototype.getAdministratorsId = function() ); 4172: } 4173: 4174: AccountMgt.prototype.getSystemId = function() ); 4176: } 4177: 4178: AccountMgt.prototype.isExisting = function(type, nameOrId) ) == "true"; 4180: } 4181: 4182: AccountMgt.prototype.getUser = function(nameOrId) ); 4184: if (index < 0) 4187: return new User(index); 4188: } 4189: 4190: AccountMgt.prototype.getGroup = function(nameOrId) ); 4192: if (index < 0) 4195: return new Group(index); 4196: } 4197: 4198: AccountMgt.prototype.checkAccount = function(userData) else 4208: ASSERT_DEFINED(arguments.callee, account, "account " + dump_properties(userData)); 4209: var primaryGroup = ""; 4210: var j = 0; 4211: if (! installer.onWindows() && userData.groups != undefined && userData.groups.length > 0) 4215: if (primaryGroup) else if (old.getFullName() != primaryGroup) 4225: } 4226: } 4227: else 4230: } 4231: 4232: AccountMgt.prototype.changeAccount = function(userData) else 4243: ASSERT_DEFINED(arguments.callee, account, "account " + dump_properties(userData)); 4244: var primaryGroup = ""; 4245: var j = 0; 4246: if (! installer.onWindows() && userData.groups != undefined && userData.groups.length > 0) 4250: if (primaryGroup) else if (old.getFullName() != primaryGroup) 4260: if (old == undefined) 4266: } 4267: if (userData.groups != undefined) 4275: } 4276: } 4277: if (userData.comment && account.getDescription() != userData.comment && (installer.onWindows() || !isGroup)) 4283: if (current.isRoot(domain) && 4284: (installer.onWindows() || ! new NetworkMgt().getNameResolver().isNISRunning())) 4287: } 4288: if (userData.password) 4294: } 4295: } 4296: } else 4308: } 4309: if (installer.onWindows() && userData.comment) 4312: } else 4317: account = this.createUser(userData); 4318: ASSERT_DEFINED(arguments.callee, account, "user " + dump_properties(userData)); 4319: } 4320: } 4321: if (userData.privileges != undefined) 4324: // Read data to set them into the userData argument. 4325: if (userData.type == "USER") 4330: } 4331: userData.id = account.getId(); 4332: } 4333: 4334: AccountMgt.prototype.getMinPasswordLength = function(domain) )); 4337: } 4338: // Code of Java Script Block :System_Info 4339: 4340: // Code of Java Script Block :os4_trace 4341: 4342: function os4_trace(text) 4345: // Code of Java Script Block :os4mod_helper 4346: 4347: // class OS4_stat which contains information retrieved by os4_checkIFSObject 4348: function OS4_Stat(string) else 4361: } 4362: 4363: OS4_Stat.prototype.fromString = function(string) 4379: } 4380: 4381: OS4_Stat.prototype.is_directory = function() 4384: 4385: OS4_Stat.prototype.is_streamfile = function() 4388: 4389: OS4_Stat.prototype.is_link = function() 4392: 4393: OS4_Stat.prototype.is_qsysobject = function() 4396: 4397: OS4_Stat.prototype.is_brokenlink = function() 4400: 4401: OS4_Stat.prototype.is_circularlink = function() 4404: 4405: // class OS4_Exception which can be evaluated after a call to os4_executeCommand 4406: function OS4_Exception() 4409: 4410: // private functions 4411: function os4callModule(fkt, args) ); 4413: } 4414: 4415: // public os4mod functions 4416: function os4_checkIFSObject(objectName, stat) ); 4418: 4419: if (stat) 4420: stat.fromString(retval.substr(5)); 4421: 4422: if (retval.substring(0,4) == "true") 4423: return true; 4424: else 4425: return false; 4426: } 4427: 4428: function os4_checkObject(objectName, objectType, library) 4436: } 4437: 4438: return ( os4callModule("checkObject", ) == "true" ) ? true : false; 4439: } 4440: 4441: function os4_executeCommand(command,ignoreError,exception,separateJob) ); 4445: if (retval == "0") else 4452: } 4453: 4454: function os4_executeCommandLib(command,lib,ignoreError,exception,separateJob) 4461: 4462: function os4_executeCommandSid(command,sid,ignoreError,exception,separateJob) 4469: 4470: function os4_getShareName() ); 4472: } 4473: 4474: function os4_getInstallationDrive() 4477: 4478: function os4_convertPath(path, trimslash) ); 4481: ret_path = ( trimslash && ( ret_path.lastIndexOf("/") == ( ret_path.length - 1 ) ) ) ? ret_path.substr( 0, ret_path.length - 1 ) : ret_path; 4482: return ret_path; 4483: } 4484: 4485: function os4_getKernelLibrary(sid) ); 4487: } 4488: 4489: function os4_getCurrentWorkingDirectory() ); 4491: } 4492: 4493: function os4_changePassword(userName, password) ); 4495: } 4496: 4497: function os4_getSAVLIBForSAVF(savefile, library) ); 4499: } 4500: 4501: function os4_getenv(envvar) ); 4503: 4504: if ( value.substr(0,2) == "na" ) else 4509: } 4510: 4511: function os4_getenv_array(envvars) 4524: return env; 4525: } 4526: 4527: function os4_putenv(envval) ); 4529: } 4530: 4531: function os4_putenv_array(envvals) 4534: 4535: function os4_rmvenv(envvar) ); 4537: } 4538: 4539: function os4_rmvenv_array(envvars) 4542: // Code of Java Script Block :os4_libl 4543: 4544: function OS4_Libl(string) else 4555: } 4556: 4557: OS4_Libl.prototype._fromString = function(string) 4567: } 4568: 4569: OS4_Libl.prototype._dump = function(reason) 4580: os4_trace(dumpstring); 4581: } 4582: 4583: OS4_Libl._dump = function(reason) 4587: 4588: OS4_Libl.prototype._copy = function() 4595: 4596: OS4_Libl._copy = function() 4600: 4601: OS4_Libl.prototype.getCurLib = function() 4604: 4605: OS4_Libl.getCurLib = function() 4609: 4610: OS4_Libl.prototype.setCurLib = function(library) 4619: } else else if (this.libl[this.curLib] != library.toUpperCase()) 4626: } 4627: 4628: if (this.isCurrent) 4629: os4callModule("chgcurlib", ); 4630: } 4631: 4632: OS4_Libl.setCurLib = function(library) 4636: 4637: OS4_Libl.prototype.getUsrLibs = function() 4640: 4641: OS4_Libl.getUsrLibs = function() 4645: 4646: OS4_Libl.prototype.setUsrLibs = function(libs) ); 4655: } 4656: 4657: OS4_Libl.setUsrLibs = function(libs) 4661: 4662: OS4_Libl.prototype.isInList = function(library) 4667: return false; 4668: } 4669: 4670: OS4_Libl.isInList = function(library) 4674: 4675: OS4_Libl.prototype.isInUsrLibs = function(library) 4680: return false; 4681: } 4682: 4683: OS4_Libl.isInUsrLibs = function(library) 4687: 4688: OS4_Libl.prototype.removeLib = function(library) ); 4698: 4699: break; 4700: } 4701: } 4702: } 4703: 4704: OS4_Libl.removeLib = function(library) 4708: 4709: OS4_Libl.prototype.addLib = function(library) ); 4718: } 4719: } 4720: 4721: OS4_Libl.addLib = function(library) 4725: 4726: OS4_Libl.prototype.equals = function(libl2) 4739: 4740: return true; 4741: } 4742: 4743: // OS4_Libl static members 4744: OS4_Libl._current = undefined; 4745: OS4_Libl._initial = undefined; 4746: 4747: OS4_Libl._init = function() )); 4750: OS4_Libl._current.isCurrent = true; 4751: } 4752: return OS4_Libl._current; 4753: } 4754: 4755: OS4_Libl._createInitial = function() 4762: } 4763: 4764: OS4_Libl.set = function(libl) ); 4777: 4778: os4callModule("chgusrlibs", ); 4779: 4780: OS4_Libl._current.isCurrent = false; 4781: new_libl.isCurrent = true; 4782: OS4_Libl._current = new_libl; 4783: } 4784: 4785: OS4_Libl.rollBack = function() 4790: } 4791: // Code of Java Script Block :os4_environment 4792: 4793: function OS4_Environment() )).getEffectiveUser().getFullName().toUpperCase(); 4798: this.envVars = []; 4799: } 4800: 4801: OS4_Environment.prototype._dump = function(reason) 4812: os4_trace(dumpstring); 4813: if (this.isCurrent) else 4818: this.libl._dump(reason); 4819: } 4820: 4821: OS4_Environment._dump = function(reason) 4825: 4826: OS4_Environment.prototype._copy = function() 4835: 4836: OS4_Environment._copy = function() 4840: 4841: OS4_Environment.prototype.getLibl = function() 4844: 4845: OS4_Environment.getLibl = function() 4849: 4850: OS4_Environment.prototype.setLibl = function(libl) else 4856: } 4857: 4858: OS4_Environment.setLibl = function(libl) 4862: 4863: OS4_Environment.prototype.getUser = function() 4866: 4867: OS4_Environment.getUser = function() 4871: 4872: OS4_Environment.prototype.setUser = function(user) 4882: } 4883: 4884: OS4_Environment.setUser = function(user) 4888: 4889: OS4_Environment.prototype.getEnv = function(parm) 4895: 4896: OS4_Environment.getEnv = function(parm) 4900: 4901: OS4_Environment.prototype.setEnv = function(parm,value) 4907: this.envVars[parm] = value; 4908: } else if (this.envVars[parm] != value) 4913: this.envVars[parm] = value; 4914: } 4915: } 4916: 4917: OS4_Environment.setEnv = function(parm,value) 4921: 4922: OS4_Environment.prototype.rmvEnv = function(parm) 4928: } else 4933: this.envVars[parm] = undefined; 4934: } 4935: } 4936: 4937: OS4_Environment.rmvEnv = function(parm) 4941: 4942: OS4_Environment.prototype.equals = function(env2) 4956: 4957: for (var parm in env2.envVars) 4961: 4962: return true; 4963: } 4964: 4965: // OS4_Environment static members 4966: OS4_Environment._current = undefined; 4967: OS4_Environment._initial = undefined; 4968: OS4_Environment._SidOfrEnvironments = []; 4969: 4970: OS4_Environment._init = function() 4977: return OS4_Environment._current; 4978: } 4979: 4980: OS4_Environment._createInitial = function() 4986: } 4987: 4988: OS4_Environment._saveEnv = function(env_var) 4996: } 4997: 4998: OS4_Environment._saveEnvArray = function(env_vars) 5006: } 5007: 5008: if (envs_to_retrieve.length > 0) 5014: } 5015: } 5016: 5017: OS4_Environment.set = function(env) 5035: 5036: // change the libl 5037: if (env.isInitial) else 5042: 5043: // arrays for new environment variables 5044: var parms_to_remove = []; 5045: var parms_to_save = []; 5046: var parms_to_put = []; 5047: var parms_really_to_put = []; 5048: 5049: // find out environment variables to remove 5050: for (var parm in OS4_Environment._current.envVars) 5054: 5055: // find out variables to be re-set from initial environment 5056: for (var parm in OS4_Environment._initial.envVars) 5059: 5060: // find out new environment variables, saving old values 5061: for (var parm in env.envVars) 5065: 5066: // array remove/save/put of environment variables 5067: if (parms_to_remove.length > 0) 5068: os4_rmvenv_array(parms_to_remove); 5069: 5070: if (parms_to_save.length > 0) 5071: OS4_Environment._saveEnvArray(parms_to_save); 5072: 5073: var put_something = false; 5074: for (var parm in parms_to_put) 5078: 5079: if (put_something) 5080: os4_putenv_array(parms_really_to_put); 5081: 5082: OS4_Environment._current.isCurrent = false; 5083: new_env.isCurrent = true; 5084: new_env.libl = undefined; 5085: OS4_Environment._current = new_env; 5086: } 5087: 5088: OS4_Environment.rollBack = function() 5093: } 5094: 5095: OS4_Environment.getSIDOFREnvironment = function(sid) ), ";"); 5101: var liblSize = Number(o4tk.nextToken()).valueOf(); 5102: 5103: if (liblSize != 0) 5107: 5108: o4tk.sep = ";T_M_K:"; 5109: 5110: var tk = o4tk.nextToken(); 5111: while (tk != undefined) 5119: 5120: OS4_Environment._SidOfrEnvironments[sid] = env; 5121: } 5122: return OS4_Environment._SidOfrEnvironments[sid]._copy(); 5123: } 5124: // Code of Java Script Block :archiver 5125: 5126: function Archiver(exe, archiveFile, options) 5138: this.app = this.mgt.createChildApplication(exe); 5139: this.files = []; 5140: } 5141: } 5142: 5143: Archiver.prototype._getOptNames = function() {} 5144: Archiver.prototype._setDefaults = function() {} 5145: 5146: Archiver.prototype.setOptions = function(options) else 5160: } else 5163: } 5164: } 5165: } 5166: } 5167: 5168: Archiver.prototype.create = function() 5174: return this._run("c", "modlib.jslib.sapcarArchiving", this.createRe, arguments); 5175: } 5176: 5177: Archiver.prototype.extract = function() 5185: 5186: Archiver.prototype.append = function() 5189: 5190: Archiver.prototype.test = function() 5193: 5194: Archiver.prototype.getCommandLine = function() 5197: 5198: Archiver.prototype.setExecutable = function(executable) 5201: 5202: Archiver.prototype.setEnvironment = function(penv) 5205: 5206: Archiver.prototype.getFiles = function() 5209: 5210: Archiver.prototype.getLogName = function() 5213: 5214: Archiver.prototype._run = function(what, guiid, re, files) else 5232: ASSERT_DEFINED(arguments.callee, lognode, "lognode"); 5233: logstream = lognode.getFileStream("TRUNCATE"); 5234: installer.writeInfo("modlib.jslib.childAppSeeLog", this.app.getExecutable(), logname); 5235: } 5236: while (true) 5241: if (logstream != undefined) else 5246: var match = line.match(re); 5247: if (match != null) 5252: } 5253: } 5254: if (logstream != undefined) 5257: var retcode = this.app.getReturnCode(true); 5258: var status = this.app.getStatus(); 5259: if (status == "TST_FINISHED") else 5264: if (retcode != 0) else 5270: } 5271: return retcode; 5272: } 5273: // Code of Java Script Block :sapcar 5274: 5275: // This is the implementation of the SAPCAR object. 5276: // Don't include the dependent files directly. 5277: 5278: function SAPCAR(sarfile, options) 5293: } else if (!fmgt.isExisting(exe)) 5297: this.base(exe, sarfile, options); 5298: this.createRe = /^a (.*)$/; 5299: this.extractRe = /^x (.*)$/; 5300: this.appendRe = this.createRe; 5301: this.testRe = /^.*:[0-9] (.*)$/;

5302: }

5303: }

5304:

5305: SAPCAR.prototype = new Archiver();

5306:

5307: SAPCAR.prototype._getOptNames = function()

5319:

5320: SAPCAR.prototype._setDefaults = function()

5332:

5333: SAPCAR.prototype._getArgs = function(what, files)

5342: // Continue even in a file is inaccesible

5343: if (this.ignoreInaccessible)

5346: // Print statistics unless testing, as the output matches our re.

5347: if (what != "t")

5350: // Change case of filenames

5351: if (this.lower && what == "x")

5354: // Use absolute pathnames

5355: if (this.absolutePathNames)

5358: // Ignore directory structure

5359: if (this.flat)

5362: // Change directory

5363: if (this.directory != "") else if (what == "x")

5371: }

5372: // Don't change permissions of existing directories

5373: if (!this.changeDirectoryPermissions && what == "x")

5376: // Set permissions of files

5377: if (this.permissions != "")

5381: // Store links themselves

5382: if (!this.resolveLinks)

5385: // Do freespace check. Works only with -t.

5386: if (this.freespaceCheck && what == "t")

5389: // Sarfile. SAPCAR has a 'feature' that you need to append

5390: // a comma to the filename if you want it to be interpreted as a single file.

5391: // Go figure.

5392: // Addendum: the above applies, unless you create or append.

5393: args.push("-f");

5394: args.push(this.archiveFile + ((what != "c" && what != "a") ? "," : ""));

5395:

5396: for (var i = 0; i < files.length; ++i) else

5402: }

5403: return args;

5404: }

5405: // Code of Java Script Block :os4_sapcar

5406:

5407: function OS4_SAPCAR()

5417: } else

5423: this.oldenv = undefined;

5424: OS4_SAPCAR._instance = this;

5425: }

5426: return OS4_SAPCAR._instance;

5427: }

5428:

5429: // singleton

5430: OS4_SAPCAR._instance = undefined;

5431:

5432: // private method for persisting

5433: OS4_SAPCAR.prototype._persist = function() else

5442: }

5443:

5444: //default values

5445: OS4_SAPCAR.default_library = "SISAPCAR62";

5446: OS4_SAPCAR.default_ifsdir = "/usr/sap/SAPinst/SAPCAR64";

5447:

5448: OS4_SAPCAR.prototype.available = function()

5451:

5452: OS4_SAPCAR.prototype.getExe = function()

5455:

5456: OS4_SAPCAR.prototype.setLibrary = function(library)

5460:

5461: OS4_SAPCAR.prototype.setIFSDir = function(ifsdir)

5465:

5466: OS4_SAPCAR.prototype.initializeDefault = function()

5472:

5473: OS4_SAPCAR.prototype.initializeSAPCAR_PASE = function(ifsdir) else

5492: }

5493:

5494: OS4_SAPCAR.prototype.initializeSAPCAR_ILE = function(library) else

5515: }

5516:

5517: OS4_SAPCAR.prototype.deinitialize = function()

5522:

5523: OS4_SAPCAR.prototype.loadSAPCAR = function(source, force) else return false;

5540: }

5541:

5542: OS4_SAPCAR.prototype.loadSAPCAR_PASE = function(source, force)

5558: var SAPCAR_src = fmgt.getNode( source + "/SAPCAR" );

5559: var os4apilib_src = fmgt.getNode( source + "/os4apilib.so" );

5560: if ( SAPCAR_src == undefined || os4apilib_src == undefined )

5564:

5565: // fill in default, if empty

5566: if ( this.ifs_dir == "" ) this.ifs_dir = OS4_SAPCAR.default_ifsdir;

5567:

5568: // Create dir if it doesn't exist

5569: os400_checkCreateDir( os4_convertPath( this.ifs_dir ), true );

5570:

5571: // copy sapcar files

5572: SAPCAR_src.copy( os4_getInstallationDrive() + ":" + os4_convertPath( this.ifs_dir ) + "/SAPCAR" );

5573: os4apilib_src.copy( os4_getInstallationDrive() + ":" + os4_convertPath( this.ifs_dir ) + "/os4apilib.so" );

5574:

5575: // set values and store in keydb

5576: this.type = "PASE";

5577: this.loaded = true;

5578: this._persist();

5579:

5580: return true;

5581: }

5582:

5583: OS4_SAPCAR.prototype.loadSAPCAR_ILE = function(source, force)

5599:

5600: // fill in default, if empty

5601: if (this.os4_library == "") this.os4_library = OS4_SAPCAR.default_library;

5602:

5603: // Create lib if it doesn't exist

5604: if ( !os4_checkObject(this.os4_library, "*LIB", "QSYS") )

5605: os4_executeCommand("CRTLIB " + this.os4_library);

5606:

5607: // get tmplib

5608: var tmplib = os400_getTMPLIB();

5609: var tmpfile = "SISAPCAR";

5610:

5611: // Create Savefile from Streamfile

5612: os4_executeCommand("CPYFRMSTMF FROMSTMF('" + os4_convertPath(source) + "') TOMBR('/QSYS.LIB/" +

5613: tmplib + ".LIB/" + tmpfile + ".FILE') MBROPT(*REPLACE)");

5614:

5615: // Restore objects

5616: os4_executeCommand("RSTOBJ OBJ(SAPCAR CMDMAIN) SAVLIB(" +

5617: os4_getSAVLIBForSAVF(tmpfile,tmplib) + ") DEV(SAVF) OBJTYPE(PGM *CMD) SAVF(" +

5618: tmplib + "/" + tmpfile + ") MBROPT(ALL) ALWOBJDIF(ALL) RSTLIB(" +

5619: this.os4_library + ")");

5620:

5621: // delete tmplib

5622: os4_executeCommand("DLTLIB " + tmplib, true);

5623: var tmplib = "SITMP";

5624:

5625: // set values and store in keydb

5626: this.type = "ILE";

5627: this.loaded = true;

5628: this._persist();

5629:

5630: return true;

5631: }

5632:

5633: OS4_SAPCAR.prototype.setExecutionEnvironment = function()

5646:

5647: OS4_SAPCAR.prototype.resetExecutionEnvironment = function()

5653: }

5654:

5655: OS4_SAPCAR.prototype.extractSavefile = function(archive, tgtlib, savefile, ASP) );

5668: car.extract();

5669: } else );

5672: car.extract();

5673:

5674: // and use CPYFRMSTMF after that.

5675: os4_executeCommand("CPYFRMSTMF FROMSTMF('" + os4_convertPath(".

" + savefile + ".FILE") + "') " +

5676: "TOMBR('/QSYS.LIB/" + tgtlib + ".LIB/" + savefile + ".FILE') MBROPT(*REPLACE)");

5677:

5678: // Afterwards we delete the temporary file.

5679: var fmgt = new FileMgt();

5680: var tmpfile = fmgt.getNode(".

" + savefile + ".FILE");

5681: tmpfile.remove();

5682: }

5683:

5684: return true;

5685: }

5686:

5687: OS4_SAPCAR.prototype.loadObjectsFromArchive = function(archive, tgtlib, savefile, ASP, object_list, savlibToCheck, overwrite, message)

5700: if (ASP == undefined || ASP == "")

5701: ASP = 1;

5702: if (savlibToCheck == undefined)

5703: savlibToCheck = "";

5704: if (overwrite == undefined)

5705: overwrite = false;

5706:

5707: // check if archive exists

5708: if (os4_checkIFSObject(os4_convertPath(archive)) != true)

5712:

5713: // get tmplib

5714: var tmplib = os400_getTMPLIB();

5715:

5716: // extract savefile

5717: if (this.extractSavefile(archive, tmplib, savefile) != true)

5718: return false;

5719:

5720: if (message)

5721: gui.updateMsg(message);

5722:

5723: // check/create library to restore objects in

5724: os400_createObject("QSYS", tgtlib, "*LIB", "", "CRTLIB LIB(" + tgtlib + ") ASP(" + ASP + ")", "");

5725:

5726: // compute savlib and check for required value

5727: var savlib = os4_getSAVLIBForSAVF(savefile, tmplib);

5728: if (savlibToCheck!="" && savlibToCheck!=savlib)

5733:

5734: // restore objects from object_list or all objects, if object_list is undefined

5735: if (object_list)

5745: }

5746: } else

5752:

5753: // delete tmplib

5754: os4_executeCommand("DLTLIB " + tmplib, true);

5755:

5756: return true;

5757: }

5758: // Code of Java Script Block :os4_kernel

5759:

5760: function OS4_Kernel_CD(os4kernel, pkg_name)

5766:

5767: OS4_Kernel_CD.prototype.loadObjects = function()

5772: return true;

5773: }

5774:

5775: OS4_Kernel_CD.prototype._addArchive = function(archive)

5778:

5779: OS4_Kernel_CD.prototype._loadObjectsFromArchiveAtIndex = function(index)

5785:

5786: // if archive is already done, return true

5787: if (this.archives[index].done == true)

5788: return true;

5789:

5790: // expand directory names (find version subdirectories)

5791: this.os4kernel._expandDirectories();

5792:

5793: // get CD path and load CD if necessary

5794: var path = installer.getCD(this.pkg).toUpperCase() +

5795: "/" + this.archives[index].directory + "/" + this.archives[index].archive;

5796:

5797: // load objects from the archive

5798: if (this.os4kernel.os4sapcar.loadObjectsFromArchive(

5799: path, this.os4kernel.libname, this.archives[index].savefile, this.os4kernel.ASP, this.os4kernel.objects,

5800: undefined, this.archives[index].overwrite, this.os4kernel.msg) == false)

5804:

5805: // set archive to done and persist information about load status

5806: this.archives[index].done = true;

5807: this.os4kernel._persist();

5808: return true;

5809: }

5810:

5811: function OS4_Kernel(libname, ASP, addToLib)

5825:

5826: OS4_Kernel.prototype.initializeFromDescriptorFile = function(descriptor_file)

5831:

5832: // initialize CDs from archive table

5833: this.cds = new Array();

5834: var archtab = new Table("t_OS4_KernelArchives");

5835: var archiverows = archtab.arraySelect(new Array("Package","Archive","Directory","Savefile","Required","Overwrite"), "WHERE 1 = 1" );

5836: for (var ct = 0; ct < archiverows.length; ct++)

5847:

5848: // initialize object list from object_table

5849: objtab = new Table("t_OS4_KernelObjects");

5850: var objectrows = objtab.arraySelect(new Array("Object","Type"), "WHERE 1 = 1" );

5851: if (objectrows.length == 0) else

5862: }

5863:

5864: // persist at the end

5865: this._persist();

5866: this._setError(false);

5867: }

5868:

5869: OS4_Kernel.prototype.loadedParts = function()

5877: }

5878: if (archives_done == true) break;

5879: }

5880: return archives_done;

5881: }

5882:

5883: OS4_Kernel.prototype.loadedComplete = function(trace)

5894: }

5895: }

5896:

5897: // if objects were defined, check if all objects were loaded

5898: if (this.objects)

5906: }

5907: }

5908: return true;

5909: }

5910:

5911: OS4_Kernel.prototype.load = function(trace)

5925:

5926: // create some objects which are required for kernel load

5927: os400_createObject("QSYS", "R3OWNER", "*USRPRF", "", "CRTUSRPRF USRPRF(R3OWNER)", "");

5928: os400_createObject("QSYS", "R3ADMAUTL", "*AUTL", "", "CRTAUTL AUTL(R3ADMAUTL)", "");

5929:

5930: // extract kernel archives

5931: for (var index = 0; index < this.cds.length; index++)

5935:

5936: // check if everything loaded successfully

5937: return this.loadedComplete(trace);

5938: }

5939:

5940: OS4_Kernel.prototype.makePackagesAvailable = function()

5956:

5957: // error handling functions

5958: OS4_Kernel.prototype.hasError = function()

5961:

5962: OS4_Kernel.prototype.getErrorText = function()

5965:

5966: OS4_Kernel.prototype.setMsg = function(message)

5969:

5970: OS4_Kernel.getRelease = function(descriptor_file)

5978:

5979: OS4_Kernel.prototype._setError = function(err_txt)

5982:

5983: OS4_Kernel.prototype._getDumpFileName = function()

5986:

5987: OS4_Kernel.prototype._getDump = function()

5995: os4_trace("Parsing status file " + filename + " for loading library " + this.libname + ".");

5996: var stream = node.getFileStream("READ");

5997: this.dump = stream.getLine();

5998: stream.close();

5999: }

6000:

6001: OS4_Kernel.prototype._getCD = function(pkg_name)

6009: }

6010:

6011: if (!cd_exists)

6012: this.cds[ct] = new OS4_Kernel_CD(this, pkg_name);

6013:

6014: return this.cds[ct];

6015: }

6016:

6017: OS4_Kernel.prototype._initializeFromDump = function()

6023:

6024: // start Tokenizer

6025: o4tk = new OS4_Tokenizer(this.dump, ";");

6026: token = o4tk.nextToken();

6027:

6028: // initialize CDs from dump

6029: this.cds = new Array();

6030: while (token && token != "END_OF_ARCHIVES")

6042:

6043: // check for consistency

6044: if (token != "END_OF_ARCHIVES")

6048: token = o4tk.nextToken();

6049:

6050: // initialize object list from dump

6051: if (token != "END_OF_OBJECTS")

6062: } else

6065:

6066: // check for consistency

6067: if (token != "END_OF_OBJECTS")

6071:

6072: // clear dump field

6073: this.dump = undefined;

6074: this._setError(false);

6075: }

6076:

6077: OS4_Kernel.prototype._persist = function()

6089: }

6090:

6091: // delimiter for consistency

6092: this.dump += "END_OF_ARCHIVES;";

6093:

6094: // dump object list

6095: if ( this.objects != undefined )

6100: }

6101:

6102: // delimiter for consistency

6103: this.dump += "END_OF_OBJECTS;";

6104:

6105: // dump content

6106: var filename = this._getDumpFileName();

6107: var fmgt = new FileMgt();

6108: var node = fmgt.getNode(filename);

6109: if (node == undefined)

6110: node = fmgt.createFile(filename);

6111: var stream = node.getFileStream("TRUNCATE");

6112: stream.putLine(this.dump);

6113: stream.close();

6114:

6115: // clear dump field

6116: this.dump = undefined;

6117: }

6118:

6119: OS4_Kernel.prototype._expandDirectories = function()

6140: }

6141:

6142: // we do not want to do that more than once

6143: this.expanded = true;

6144:

6145: // good time to persist...

6146: this._persist();

6147:

6148: // try to load SAPCAR from CD if it was not already done during the installation

6149: // here is the best place for it, because directories are already expanded

6150: if (this.cds[0])

6155: }

6156:

6157: OS4_Kernel._findMatchingVersionDir = function(basepath, archive)

6178: rel = 10;

6179: }

6180: if (found)

6181: return osRelease;

6182: else

6183: installer.writeError("ind-rel.os400.NoKrnOnCD","");

6184: }

6185:

6186: OS4_Kernel._loadDescriptorFile = function(descriptor_file) else

6198: }

6199: // Code of Java Script Block :os4_library

6200:

6201: function OS4_Tokenizer(string, separator)

6205:

6206: OS4_Tokenizer.prototype.nextToken = function()

6214:

6215: function os400_createObject(lib, obj, objtype, owner, cmd, lible)

6221:

6222: if (!os4_checkObject(obj, objtype, lib))

6229: }

6230:

6231: if ((owner!=undefined) && (owner!=""))

6241: }

6242:

6243: if (old_libl != undefined)

6244: OS4_Libl.set(old_libl);

6245: return true;

6246: }

6247:

6248: function os400_checkCreateDir(dirnam, createsubdirs)

6255: return os400_checkCreateDir(dirnam, false);

6256: } else else return true;

6263: } else return true;

6264: }

6265: }

6266:

6267: function os400_getInstallationParameter(param)

6272:

6273: function os400_setInstallationParameter(param, value, fix) else

6289: }

6290: }

6291:

6292: function os400_mapDialogFieldToInstallationParameter(param)

6298:

6299: function os400_getJavaHome()

6302:

6303: function os400_pathIsOnInstallationHost(path)

6306:

6307: function os400_getTMPLIB(ASP)

6316: os4_executeCommand("CRTLIB LIB(" + tmp_cur + ") ASP(" + ASP + ")", true);

6317: return tmp_cur;

6318: }

6319:

6320: function os400_ChangeUsrSapTrans(host)

6329:

6330: if ( os4_checkIFSObject("/usr/sap/trans") )

6336: }

6337:

6338: if ( !os4_checkIFSObject("/QFileSvr.400") )

6342:

6343: if ( !os400_checkCreateDir("/QFileSvr.400/" + host, false) )

6347:

6348: if (!os4_executeCommand("ADDLNK OBJ('" + lnk_target + "') NEWLNK('/usr/sap/trans')", true))

6351: }

6352:

6353: function os400_LoadTempJLAUNCH(directory, message)

6381:

6382: // load Library parts, e.g. JLAUNCH, jar files

6383: os4_trace("Loading lib parts of objects required for JLAUNCH into library " + os4_tmplib + ".");

6384: os4_launch_loader.addToLib = true;

6385: os4_launch_loader.initializeFromDescriptorFile("jlaunch_lib_part.xml");

6386: if (os4_launch_loader.load() == false)

6394:

6395: if (message)

6396: gui.updateMsg(message);

6397:

6398: // add library to libl

6399: OS4_Libl.addLib(os4_tmplib);

6400:

6401: // fix ownerships

6402: os4_executeCommand("FIXR3OWNS LIB(" + os4_tmplib + ") OBJ(*ALL)");

6403:

6404: // restore files from O4AFFILE

6405: os4_executeCommand("RSTO4AFDTA FILE(" + os4_tmplib + "/O4AFFILE) RSTPATH('" + os4_convertPath(directory) + "') INPUT(*IFSNAME) IFSNAME('jstartup.jar')");

6406: os4_executeCommand("RSTO4AFDTA FILE(" + os4_tmplib + "/O4AFFILE) RSTPATH('" + os4_convertPath(directory) + "') INPUT(*IFSNAME) IFSNAME('jstartupapi.jar')");

6407: os4_executeCommand("RSTO4AFDTA FILE(" + os4_tmplib + "/O4AFFILE) RSTPATH('" + os4_convertPath(directory) + "') INPUT(*IFSNAME) IFSNAME('jstartupimpl.jar')");

6408:

6409: // create links of ILE objects into IFS

6410: os4_executeCommand("ADDLNK OBJ('/QSYS.LIB/" + os4_tmplib + ".LIB/JLAUNCH.PGM') NEWLNK('" + os4_convertPath(directory) + "/JLAUNCH')");

6411:

6412: // return temporary library

6413: return os4_tmplib;

6414: }

6415:

6416: function os400_RemoveTempJLAUNCH(directory, library)

6439: // Code of Java Script Block :childapplication

6440:

6441: // This is the definition of a ChildApplication.

6442:

6443: // The constructor is private. Use ProcessMgt.createChildApplication().

6444: function ChildApplication(index) ;

6448: if (index != undefined)

6452: }

6453:

6454: ChildApplication.prototype.setLogname = function(logname)

6457:

6458: ChildApplication.prototype.getLogname = function()

6462: return this.logname;

6463: }

6464:

6465: ChildApplication.prototype.run = function(args, updateGui)

6469: if (updateGui == undefined)

6472: var mgt = new ProcessMgt();

6473: var fmgt = new FileMgt();

6474: var io = mgt.createTaskIO();

6475: this.setOutputStream(io);

6476: var logname = this.getLogname();

6477: var lognode = fmgt.getNode(logname);

6478: if (lognode != undefined)

6482: lognode = fmgt.createFile(logname);

6483: ASSERT_DEFINED(arguments.callee, lognode, "lognode");

6484: var logstream = lognode.getFileStream("WRITE");

6485: ASSERT_DEFINED(arguments.callee, logstream, "logstream");

6486: this.start(false);

6487: installer.writeInfo("modlib.jslib.childAppSeeLog", this.getCommandLine(), logname);

6488: var result_buffer_size = 10 * 1024;

6489: var result = "

";

6490: while (true)

6495: if (result.length < result_buffer_size)

6500: logstream.putLine(line);

6501: if (updateGui)

6504: }

6505: io.close();

6506: var retcode = this.getReturnCode(true);

6507: var status = this.getStatus();

6508: if (status != "TST_FINISHED")

6511: if (retcode == 0) else

6516: this.output = result;

6517: return retcode;

6518: }

6519:

6520: ChildApplication.prototype.getOutput = function()

6523:

6524: ChildApplication.prototype.getCommandLine = function()

6530: return result;

6531: }

6532:

6533: ChildApplication.prototype.setExecutable = function(executable) );

6535: }

6536:

6537: ChildApplication.prototype.setArguments = function(args)

6541: this._callModule("setArguments", implcommon_massage_args(args, "arguments"));

6542: this._args = args;

6543: }

6544:

6545: ChildApplication.prototype.setHiddenArguments = function(hide)

6548:

6549: ChildApplication.prototype.getExecutable = function()

6552:

6553: ChildApplication.prototype.getArguments = function()

6556:

6557: ChildApplication.prototype.start = function(waitarg)

6564: var wait = waitarg == undefined ? true : waitarg;

6565: var rc = this._callModule("start", ) == "true";

6566: if (prev_env)

6567: OS4_Environment.set(prev_env);

6568: return rc;

6569: } else ) == "true";

6572: }

6573: }

6574:

6575: ChildApplication.prototype.getReturnCode = function(waitarg) ));

6578: }

6579:

6580: ChildApplication.prototype.cancel = function()

6583:

6584: ChildApplication.prototype.getStatus = function()

6587:

6588: ChildApplication.prototype.setInputStream = function(taskIO) );

6590: this._inputStream = taskIO;

6591: }

6592:

6593: ChildApplication.prototype.getInputStream = function()

6596:

6597: ChildApplication.prototype.setOutputStream = function(taskIO) );

6599: this._outputStream = taskIO;

6600: }

6601:

6602: ChildApplication.prototype.getOutputStream = function()

6605:

6606: ChildApplication.prototype.setEnvironment = function(penv) );

6610: }

6611:

6612: ChildApplication.prototype.runAs = function(user, password, group)

6618: ASSERT_DEFINED(arguments.callee, user, "user(" + userName + ")");

6619: var env = user.getProcessEnvironment(password, group);

6620: this.setEnvironment(env);

6621: return this.run();

6622: }

6623: // Code of Java Script Block :clientmapping_impl

6624:

6625: function ClientMappingaddKeydbContainer( keydbContainerName )

6626:

6629:

6630: function ClientMappingrenameTable ( oldTableName , newTableName , columnNameMapping )

6631:

6640: }

6641: }

6642:

6643:

6644: function ClientMappinggetMapping ()

6645: ;

6647:

6648: for ( var prop in this.mappingParameter )

6649:

6652: client.files = this.files;

6653: return client ;

6654: }

6655:

6656:

6657: function ClientMappinggetContextParameterMapString ( contextParameterNameExpression

6658: ,checkFunction )

6659:

6666: else

6667:

6670: return ( mappingText )

6671: }

6672:

6673:

6674: function ClientMappinggetSourceColumnRefString ( table

6675: , column

6676: , whereClause )

6677:

6683: return ( mappingText + " ) " );

6684: }

6685:

6686:

6687: function ClientMappingmapContextParameterWithDefault ( id

6688: , table

6689: , column

6690: , whereClause

6691: , contextParameterNameExpression

6692: , checkFunction )

6693:

6698:

6699:

6700:

6701: function ClientMappingmapContextParameter ( id , contextParameterNameExpression , checkFunction )

6702:

6710:

6711: mappingText = mappingText + " )" ;

6712: this.mappingParameter[id] = mappingText ;

6713: }

6714:

6715: function ClientMappingmapTableElement ( id, tableName , columnName , whereClause , checkFunction )

6716:

6723: if (checkFunction)

6724:

6727: mappingText = mappingText + " )" ;

6728: this.mappingParameter[id] = mappingText ;

6729: }

6730:

6731: function ClientMappingmapTableElementWithDefault ( id

6732: , tableName

6733: , columnName

6734: , whereClause

6735: , checkFunction

6736: , tableNameLOV

6737: , columnNameLOV

6738: , whereClauseLOV

6739: )

6740:

6750: mappingText = mappingText + " ) ";

6751: if (checkFunction)

6752:

6755: mappingText = mappingText + " )" ;

6756: this.mappingParameter[id] = mappingText ;

6757: }

6758:

6759:

6760: function ClientMappingcreateClientParameter ( parameter , expression )

6761:

6764:

6765:

6766: function ClientMappingmapTable( id, tableName , columMapping ,whereClause , checkFunction )

6767:

6775: if (checkFunction)

6776:

6779:

6780: if (columMapping)

6781:

6790: columnMappingText = columnMappingText + " ) ";

6791: }

6792: mappingText = mappingText + columnMappingText + " )" ;

6793: this.mappingParameter[id] = mappingText ;

6794: }

6795: // Code of Java Script Block :clientmapping

6796:

6797: function ClientMapping ( mapping )

6798: )

6816: // installer.setKdbClient(client.getMapping());

6817: //

6818: // Renames the table oldName to newName , the column named oldColumn1 to newColumn1

6819: // and column oldColumn2 to newColumn2. All other columns of oldName are also accessible under their orgin

6820: // column names.

6821:

6822: this.renameTable = ClientMappingrenameTable ;

6823: // -

-


6824: // Function addKeydbContainer ( keydbContainerName )

6825: //

6826: // Description Create the define for laoding additional keydb container files

6827: //

6828: // Parameter keydbContainerName complete name of the keydb container

6829: //

6830: // Example

6831: // var client = new ClientMapping () ;

6832: //

6833: // client.addKeydbContainer (" ")

6834: // installer.setKdbClient(client.getMapping());

6835: //

6836:

6837: this.addKeydbContainer = ClientMappingaddKeydbContainer ;

6838:

6839:

6840: // -

-


6841: // Function createClientParameter

6842: //

6843: // Description Creates a parameter which is accessible inside of keydb expression by getClientParameter (< parameter name>)

6844: //

6845: // Parameter parameterName name of the parameter

6846: // expression Expression to connect to the parameter. You can use simple constant like 'HELLO', but it is

6847: // also possible to define references to other table elements and complex keydb expressions.

6848: //

6849: //

6850: // Example var client = new ClientMapping () ;

6851: //

6852: // client.createClientParameter ("parameter1", "('refer to constant')" )

6853: // client.createClientParameter ("parameter2", "( table.column WHERE ROWNUM = 0 )" )

6854: // installer.setKdbClient(client.getMapping());

6855: //

6856:

6857:

6858: this.createClientParameter = ClientMappingcreateClientParameter ;

6859:

6860: // -

-


6861: //

6862: // Function mapContextParameter

6863: //

6864: //

6865: // Description added the needed mapping informations to the internal map for mapping the context parameter

6866: //

6867: // Parameter dialogId Id of the gui element the context parameter should be map to

6868: // contextParameterNameExpression valid keydb expression which will be evaluated by the keydb to get the name of the

6869: // context paramter. If you want to map the context parameter hugo you have to use the

6870: // expression 'hugo'.

6871: // checkFunction (optional) name of the check function

6872: //

6873: // Example

6874: // You defined a dialog (dpe_init2) with a dialog element f_input;

6875: // With the following statement sequence you map the context parameter contextParameter

6876: // to the dialog element f_input.

6877: // Additional the function checkFunction is called to check the input value before the value

6878: // is written back to the keydb.

6879: //

6880: // var client = new ClientMapping () ;

6881: //

6882: // client.mapContextParameter ( "f_input" , "'contextParameter'" , "checkFunction" );

6883: // installer.setKdbClient(client.getMapping());

6884: // gui.invokeDialog("dpe_init2");

6885: //

6886:

6887:

6888: this.mapContextParameter = ClientMappingmapContextParameter ;

6889: // -

-


6890: //

6891: // Function mapContextParameterWithDefault

6892: //

6893: //

6894: // Description added the needed mapping informations to the internal map for mapping the context parameter

6895: //

6896: // Parameter

6897: // dialogId Id of the gui element the context parameter should be map to

6898: // table the parameters tabel column and where clause identifys a table element

6899: // column which is used by the guiengine as default

6900: // where_clause if you want to have no where clause you have to specifiy "" in calling that function

6901: // contextParameterNameExpression valid keydb expression which will be evaluated by the keydb to get the name of the

6902: // context paramter. If you want to map the context parameter hugo you have to use the

6903: // expression 'HOGO'.

6904: // checkFunction (optional) name of the check function

6905: //

6906: // Example See function mapContextParameter. Additional you can define a table element (range of table elements) which is

6907: // used as default value (list of values) for the mapped dialog element.

6908: //

6909: // var client = new ClientMapping () ;

6910: //

6911: // client.mapContextParameterWithDefault ( "f_input"

6912: // , "tableNameLOV"

6913: // , "columnNameLOV"

6914: // , "WHERE ROWNUM = 0"

6915: // , "'contextParameter'"

6916: // , "checkFunction" );

6917: //

6918: // installer.setKdbClient(client.getMapping());

6919: // gui.invokeDialog("myDialog");

6920:

6921:

6922: this.mapContextParameterWithDefault = ClientMappingmapContextParameterWithDefault ;

6923: // -

-


6924: //

6925: // Function mapTable

6926: //

6927: //

6928: // Description Added the needed mapping informations to the internal map for mapping a keydb table to a dialog element of type table.

6929: //

6930: //

6931: //

6932: // Parameter dialogId Id of the gui element (table)

6933: // tableName table name

6934: // columnMappingList has to be of type Array, the key is used as Dialog ID the value as column name of the table

6935: // if you want to use a check function for a column, append that check function name to the column name

6936: //

6937: // If you do not need a specifiy column list, you can use an empty

6938: // array. This means that all dialog columns will be mapped to the columns of the keydb table.

6939: // That means also, that all dialog columns has to exist in the keydb table.

6940: //

6941: // whereClause including the WHERE, only the matching rows will be shown on the dialog. If do not need a where clause

6942: // you have to use a "" for the where clause.

6943: //

6944: // checkFunction (optinal) name of a check function which is called for each row after all check functions on field level were called.

6945: //

6946: //

6947: // var client = new ClientMapping () ;

6948: //

6949: // client.mapTable( "dialog_tableName"

6950: // ,"tableNameInKeydb"

6951: // ,

6952: // ,"WHERE KeydbCloumnID1 = 'YES' "

6953: // ,"checkFunction" );

6954: //

6955: // installer.setKdbClient(client.getMapping());

6956: // gui.invokeDialog("myDialog");

6957: //

6958:

6959:

6960: this.mapTable = ClientMappingmapTable ;

6961:

6962:

6963: // -

-


6964: //

6965: // Function mapTableElement

6966: //

6967: //

6968: // Description Added the needed mapping informations to the internal map for mapping a keydb table element to a dialog element.

6969: // Attention, if you want to have a check function without using a clause you have to specifiy a "" for the whereClaus

6970: // parameter in calling that function.

6971: //

6972: // Parameter dialogId Id of the gui element (table)

6973: // tableName table name

6974: // columnName colum name

6975: // whereClause including the WHERE

6976: // checkFunction (optinal) name of the check function

6977: //

6978: // Example

6979: // var client = new ClientMapping () ;

6980: // client.mapTableElement ( "mapTableElement2"

6981: // , "table"

6982: // , "columnName"

6983: // , ""

6984: // , "checkFunctionWithoutWhere" );

6985: //

6986: // installer.setKdbClient(client.getMapping());

6987: // gui.invokeDialog("myDialog");

6988:

6989:

6990: this.mapTableElement = ClientMappingmapTableElement ;

6991:

6992: // -

-


6993: //

6994: // Function mapTableElementWithDefault

6995: //

6996: //

6997: // Description added the needed mapping informations to the internal map for mapping the column reference

6998: // Attention, if you want to have a check function without using a clause you have to specifiy a "" for the whereClaus

6999: // parameter in calling that function.

7000: //

7001: // Parameter dialogId Id of the gui element (table)

7002: // tableName name of the target table

7003: // columnName name of the target column of the target table

7004: // whereClause for selecting the right row (including the WHERE) if not used specify ""

7005: // checkFunction name of the check function if not used specify ""

7006: // tableNameLOV name of the table which should be queried for a list of values

7007: // columnNameLOV name of the column which should be used to build up the list of values

7008: // whereClauseLOV (optinal) used for build up the list of values

7009: //

7010: // Example see mapTableElement. Additional it is possible to define a table element (range of table elements) which is

7011: // used as default value (list of values) for the mapped dialog element.

7012:

7013: this.mapTableElementWithDefault = ClientMappingmapTableElementWithDefault ;

7014:

7015: // -

-


7016: // Function getMapping

7017: //

7018: // Description return the mapping containing the mapping rules for creating a keydb client

7019: //

7020: // Parameter

7021: //

7022:

7023: this.getMapping = ClientMappinggetMapping ;

7024:

7025: }

7026: // Code of Java Script Block :jar

7027:

7028: function JAR(jarfile, options)

7037: this.base(exe, jarfile, options);

7038: this.createRe = /[:]:s+()(/;

7039: this.extractRe = /[:]: (.)$/;

7040: this.appendRe = this.createRe;

7041: this.testRe = /^(.*)$/;

7042: }

7043: }

7044:

7045: JAR.prototype = new Archiver();

7046:

7047: JAR.prototype._getArgs = function(what, files) else if (what == "t")

7055: args.push(what + verb + "f");

7056: args.push(this.archiveFile);

7057: for (var i = 0; i < files.length; ++i) else

7063: }

7064: return args;

7065: }

7066: // Code of Java Script Block :java

7067:

7068: function JavaVersion(version)

7074: if (typeof version == "string")

7085: } else

7088: } else if (version instanceof JavaVersion)

7094: Java.trace("JavaVersion(" + versionSave + ") = " + String(this));

7095: }

7096:

7097: JavaVersion.prototype.toString = function()

7102: return ret;

7103: }

7104:

7105: function Java(index) ;

7110: }

7111:

7112: Java.enforceDataModel = true;

7113:

7114: Java.debug = false;

7115: Java.flowTrace = false;

7116: Java.trace = function(trace)

7122: }

7123: Java.flowTrace = function(trace)

7127: }

7128:

7129: Java.prototype = new ChildApplication();

7130:

7131: Java.prototype.setJDKArguments = function(jdkArgs)

7134:

7135: Java.prototype._setHiddenArguments = Java.prototype.setHiddenArguments;

7136: Java.prototype.setHiddenArguments = function(args) ;

7138: for (var prop in args)

7143: }

7144: this._setHiddenArguments(hide);

7145: }

7146:

7147: Java.prototype._setArguments = Java.prototype.setArguments;

7148: Java.prototype.setArguments = function(args)

7155: if (this.jdkArgs.jdkArgs && this.jdkArgs.jdkArgs.length > 0)

7159: if (this.jdkArgs.mainclass != undefined) else if (this.jdkArgs.jar != undefined)

7166: if (typeof args == "string")

7169: return this._setArguments(realargs.concat(args));

7170: }

7171:

7172: Java.getOSVersion = function(version) else

7181: }

7182:

7183: Java.getBestHome = function(minObj, maxObj, checkForJavac) ;

7185: maxObj = maxObj || ; 7186: 7187: delete Java.errorMessage; 7188: 7189: var min = Java.getOSVersion(minObj); 7190: var max = Java.getOSVersion(maxObj); 7191: 7192: Java.trace("Java.getBestHome(" + String(min) + ", " + String(max) + ", " + checkForJavac + ")"); 7193: 7194: // If JAVA_HOME is set, we take that if it's ok. 7195: var mgt = new ProcessMgt(); 7196: var current = mgt.getCurrentProcessEnvironment(); 7197: var JAVA_HOME = current.getEnvironmentVariable("JAVA_HOME").value(); 7198: if (JAVA_HOME) 7205: } 7206: 7207: // Ok, do it the hard way. On Windows, run through the registry. On all platforms 7208: // run through the PATH. Use the highest version available which fits in the interval 7209: // [min, max). 7210: var best = ""; 7211: var bestVersion = undefined; 7212: 7213: function isItBetter(dir, dirVersion) else else 7236: } 7237: } else else 7251: } 7252: } 7253: } else 7259: } 7260: } 7261: 7262: var seen = {}; 7263: 7264: if (installer.onWindows()) 7277: } 7278: } 7279: } 7280: } 7281: 7282: var PATH = current.getEnvironmentVariable("PATH").value(); 7283: if (installer.onWindows()) 7286: var pathes = PATH.split(installer.onWindows() ? ";" : ":"); 7287: var fmgt = new FileMgt(); 7288: for (var i = 0; i < pathes.length; ++i) 7299: } 7300: while (java && java.getNodeType() == "LINK") 7308: java = java.getTarget(); 7309: var type = java.getNodeType(); 7310: if (type != "FILE" && type != "LINK") 7314: } 7315: if (java) 7319: isItBetter(dir, Java.checkHome(dir, min, max, checkForJavac)); 7320: } 7321: } 7322: } 7323: if (installer.onWindows()) 7326: if (best) else 7331: return best; 7332: } 7333: 7334: Java.checkHome = function(home, min, max, checkForJavac) ); 7336: max = new JavaVersion(max || );

7337:

7338: delete Java.errorMessage;

7339:

7340: Java.trace("Java.checkHome(" + home + ", " + min + ", " + max + ", " + checkForJavac + ")");

7341: var versionString = Java.getJavaVersion(home, checkForJavac);

7342: var ret = undefined;

7343: if (versionString)

7348: } else

7351: if (ret)

7366: exedir = ".";

7367: }

7368: var app = mgt.createJavaApplication(home, );

7371: var result = this._safeRun(app, home);

7372: if (Java.errorMessage) else else

7383: }

7384: }

7385: }

7386: Java.trace("Java.checkHome(" + home + ", " + min + ", " + max + ", " + checkForJavac + ") = " + ret);

7387: if (ret == undefined)

7390: return ret;

7391: }

7392:

7393: Java.checkVersion = function(version, min, max, home)

7405: if (Java.compareVersions(version, max) != -1)

7409: if (home && Java.enforceDataModel && Java.needDataModel())

7417: } else

7423: }

7424: }

7425: return true;

7426: }

7427:

7428: // Return -1 if v1 < v2, 0 if they are equal or 1 if v1 > v2.

7429: Java.compareVersions = function(v1, v2)

7439:

7440: Java.compareSubVersions = function(v1, v2)

7445:

7446: Java.splitVersion = function(version)

7449:

7450: Java._safeRun = function(app, home)

7463: }

7464: var retcode = app.getReturnCode(true);

7465: var status = app.getStatus();

7466: if (status != "TST_FINISHED")

7470: if ( ( retcode == 0 ) ||

7471: ( installer.onOS400() &&

7472: app.jdkArgs != undefined &&

7473: app.jdkArgs.jdkArgs[0] == "-version" &&

7474: retcode == 1 &&

7475: new SystemMgt().getSystemInfo().getOSVersionMajor() == "5" &&

7476: new SystemMgt().getSystemInfo().getOSVersionMinor() == "2" ) ) else

7482: return output;

7483: }

7484:

7485: Java.getJavaVersion = function(home, checkForJavac)

7490: var mgt = new ProcessMgt();

7491: var fmgt = new FileMgt();

7492: var java = home + "/bin/java" + mgt.getExe();

7493: if (!fmgt.isExisting(java))

7498: var javac = home + "/bin/javac" + mgt.getExe();

7499: if (checkForJavac && !fmgt.isExisting(javac))

7504:

7505: var app = mgt.createJavaApplication(home, );

7506: var save = Java.errorMessage;

7507: var result = this._safeRun(app, home);

7508: if (Java.errorMessage)

7512: Java.errorMessage = save;

7513: var ra = result.split("

");

7514: var version = "";

7515: for (var i = 0; i < ra.length; ++i)

7523: }

7524: }

7525: if (version == "")

7528: Java.trace(trace + version);

7529: return version;

7530: }

7531:

7532: Java.needD64 = function(home)

7543: var ret = false;

7544: if (maybe_d64)

7551: }

7552: Java.trace("Java.needD64(" + home + ") = " + ret);

7553: return ret;

7554: }

7555:

7556: Java.getDataModel = function(home, prefer64bit)

7561: var insj2ee = installer.getInstallationParameter("INSTPARA_EXE_DIR") + "/JAR/ins-j2ee.jar";

7562: ASSERT(arguments.callee, new FileMgt().isExisting(insj2ee), "file '" + insj2ee + "' should exist.");

7563: var pmgt = new ProcessMgt();

7564: var jdkArgs = ;

7568: if (prefer64bit && Java.needD64(home))

7571:

7572: var app = pmgt.createJavaApplication(home, jdkArgs);

7573: var save = Java.errorMessage;

7574: var output = this._safeRun(app, home);

7575: if (Java.errorMessage)

7579: Java.errorMessage = save;

7580: var dataModel;

7581: output = output.replace(/^s/, "").replace(/s$/, "");

7582: if (output.length == 2)

7587: }

7588: installer.writeTrace("JDK directory " + home + " has data model " + dataModel);

7589: return dataModel;

7590: }

7591:

7592: Java.needDataModel = function()

7609: installer.writeTrace((needDataModel ? "Need" : "Don't need") + " to determine JDK datamodel on " + osfa);

7610: return needDataModel;

7611: }

7612:

7613: Java.getJVMOSName = function(home, prefer64bit)

7619: var name;

7620: switch (osfa)

7684: installer.writeTrace("Java.getJVMOSName(" + home + ") on " + osfa + " is " + name);

7685: return name;

7686: }

7687:

7688: Java.getJVMOSBits = function(home, prefer64bit)

7724: installer.writeTrace("Java.getJVMOSBits(" + home + ") on " + osname + " is " + bits);

7725: return bits;

7726: }

7727:

7728: // This functions exists exclusively as a backward compatibility hack for usage in

7729: // Java.getOSVersion(). Don't use.

7730: Java._getOldJVMOSName = function()

7773: }

7774:

7775: Java.readVersionFile = function(cdroot)

7787:

7788: var client = new ClientMapping();

7789: client.addKeydbContainer(name);

7790: installer.setKdbClient(client.getMapping());

7791:

7792: var result = ,

7794: maxVersion:{}

7795: };

7796: var minTable = new Table("t_JDKMinVersion_CD");

7797: var minRows = minTable.arraySelect();

7798: for (var i = 0; i < minRows.length; ++i)

7802: var maxTable = new Table("t_JDKMaxVersion_CD");

7803: var maxRows = maxTable.arraySelect();

7804: for (var i = 0; i < maxRows.length; ++i)

7808: return result;

7809: }

7810:

7811: Java.getSystemProperty = function(home, prop) ;

7817:

7818: var app = pmgt.createJavaApplication(home, jdkArgs);

7819: if (prop) app.setArguments();

7820: var ret = app.run();

7821: var sysProp;

7822: if (ret == 0) sysProp = app.getOutput();

7823: return sysProp;

7824: }

7825:

7826: Java.checkPolicyFiles = function(home, options)

7835: } else

7841: }

7842:

7843: // create temp directory for unpacking the policy.jar files

7844: var tempDirName = installer.getInstallationParameter("INSTPARA_START_DIR")+ "/jdkPolicyCheck";

7845: var temp = fmgt.getNode(tempDirName) || fmgt.createDirectory(tempDirName);

7846:

7847: var pmgt = new ProcessMgt();

7848: var env = pmgt.getProcessEnvironment();

7849: env.setWorkingDirectory(temp);

7850:

7851: for (var iter = secDir.getChildNodes("policy.jar$"); !iter.isDone(); iter.next())

7858:

7859: var re = /spermissions+javax.crypto.CryptoAllPermissions;s*/;

7860:

7861: checkPolicies :

7862:

7863: for (var iter = temp.getChildNodes("

.policy$"); !iter.isDone(); iter.next())

7877: }

7878: // no matching, assuming no permission for strong cryptography tools

7879:

7880: fstream.close();

7881: installer.writeTrace("Did not find a matching entry for 'permission javax.crypto.CryptoAllPermission', assuming policy for weak encryption");

7882:

7883: ret = "weak";

7884: }

7885:

7886: // remove temp directory

7887: temp.remove();

7888:

7889: installer.writeTrace("Returning '" + ret + "' as encryption level");

7890: return ret;

7891: }

7892: // Code of Java Script Block :taskio

7893:

7894: // The constructor is private. Use ProcessMgt.createTaskIO().

7895: // A TaskIO Object.

7896: function TaskIO(index)

7902: }

7903: TaskIO.prototype = new Stream();

7904:

7905: TaskIO.prototype.putLine = function(line) );

7907: }

7908:

7909: TaskIO.prototype.getLine = function() );

7911: }

7912:

7913: TaskIO.prototype.fail = function() ) == "true";

7915: }

7916:

7917: TaskIO.prototype.put = function(theChar) );

7919: }

7920:

7921: TaskIO.prototype.get = function() );

7923: }

7924:

7925: TaskIO.prototype.close = function() );

7927: }

7928: // Code of Java Script Block :enviter

7929:

7930: function EnvIter(index)

7936: }

7937: EnvIter.prototype = new Iter;

7938: EnvIter.prototype.isDone = EnvIterisDone;

7939: EnvIter.prototype.get = EnvIterget;

7940: EnvIter.prototype.next = EnvIternext;

7941:

7942: function EnvIterisDone()

7945:

7946: function EnvIterget()

7950:

7951: function EnvIternext()

7954: // Code of Java Script Block :processenv

7955:

7956: // This is the implementation of a ProcessEnvironment.

7957:

7958: // A ProcessEnvironment Object.

7959: function ProcessEnvironment(index)

7967: }

7968:

7969: ProcessEnvironment.prototype.getEnvironmentVariable = function(name) ));

7971: }

7972:

7973: ProcessEnvironment.prototype.setEnvironmentVariable = function(prop) );

7975: }

7976:

7977: ProcessEnvironment.prototype.getEnvVars = function()

7980:

7981: ProcessEnvironment.prototype.getUser = function()

7986:

7987: ProcessEnvironment.prototype.setUser = function(user, passwordarg) );

7990: if (installer.onOS400() && this.os4_env != undefined)

7991: this.os4_env.setUser(user.getFullName());

7992: }

7993:

7994: ProcessEnvironment.prototype.getGroup = function() else

8002: }

8003:

8004: ProcessEnvironment.prototype.setGroup = function(group) );

8007: }

8008: }

8009:

8010: ProcessEnvironment.prototype.getEffectiveUser = function()

8015:

8016: ProcessEnvironment.prototype.setEffectiveUser = function(user, passwordarg) );

8019: }

8020:

8021: ProcessEnvironment.prototype.getEffectiveGroup = function() else

8029: }

8030:

8031: ProcessEnvironment.prototype.setEffectiveGroup = function(group) );

8034: }

8035: }

8036:

8037: ProcessEnvironment.prototype.getUmask = function() else

8043: }

8044:

8045: ProcessEnvironment.prototype.setUmask = function(umask) else );

8050: }

8051: }

8052:

8053: ProcessEnvironment.prototype.getWorkingDirectory = function()

8059: if (dirname.substr(dirname.length - 1) != '/')

8062: return mgt.getNode(dirname);

8063: }

8064:

8065: ProcessEnvironment.prototype.setWorkingDirectory = function(directory) );

8067: }

8068:

8069: ProcessEnvironment.prototype.copyTo = function(other)

8075: }

8076: if (!installer.onWindows())

8081: }

8082: other.setWorkingDirectory(this.getWorkingDirectory());

8083: for (var it = this.getEnvVars(); ! it.isDone(); it.next())

8086: other.setUmask(this.getUmask());

8087: }

8088: // Code of Java Script Block :processmgt

8089:

8090: // This is the implementation of the ProcessMgt object.

8091: // Don't include the dependent files directly.

8092:

8093: // A ProcessMgt object.

8094: function ProcessMgt()

8096:

8097: ProcessMgt.prototype._callModule = function(func, argsarg) ;

8099: if (this.index != undefined)

8102: var call = ;

8109: return installer.invokeModuleCall(call);

8110: }

8111:

8112: ProcessMgt.prototype.getCurrentProcessEnvironment = function() ));

8114: }

8115:

8116: ProcessMgt.prototype.getProcessEnvironment = function() ));

8118: }

8119:

8120: ProcessMgt.prototype.createChildApplication = function(executable, args)

8125: if (args != undefined)

8128: return app;

8129: }

8130:

8131: ProcessMgt.prototype.createJavaApplication = function(home, javaArgs, args)

8139:

8140: ProcessMgt.prototype.createTaskIO = function()

8143:

8144: ProcessMgt.prototype.getExe = function()

8147:

8148: ProcessMgt.prototype.getDynlibExtension = function()

8160: }

8161: // Code of Java Script Block :filemgt

8162:

8163: // This is the public interface to the FileMgt object.

8164: // Don't include the dependent files directly.

8165:

8166: // A FileMgt object.

8167: function FileMgt()

8169:

8170: FileMgt.prototype._callModule = function(func, argsarg) ;

8172: var call = ;

8179: return installer.invokeModuleCall(call);

8180: }

8181:

8182: FileMgt.prototype.getFSPath = function(path) )));

8185: }

8186:

8187: FileMgt.prototype.isExisting = function(nodeName, nodeTypearg) ));

8190: }

8191:

8192: FileMgt.prototype.getNode = function(nodeName, followarg) );

8195: switch (nodeType)

8204: return new File(nodeName, nodeType);

8205: }

8206:

8207: FileMgt.prototype._getNodeFromIndex = function(index) );

8209: var node;

8210: switch (nodeType)

8221: node._init(index, nodeType);

8222: return node;

8223: }

8224:

8225: FileMgt.prototype.createFile = function(nodeName) );

8227: installer.writeTrace("nodeType: '" + nodeType + "'");

8228: if (nodeType == "UNKNOWN") ), "FILE");

8230: }

8231: return undefined;

8232: }

8233:

8234: FileMgt.prototype.createLink = function(nodeName, linkTarget) );

8236: if (nodeType == "UNKNOWN") ), "LINK");

8239: }

8240: return undefined;

8241: }

8242:

8243: FileMgt.prototype.createDirectory = function(nodeName) );

8245: installer.writeTrace("nodeType: '" + nodeType + "'");

8246: if (nodeType == "UNKNOWN") ), "DIRECTORY");

8248: }

8249: return undefined;

8250: }

8251:

8252: FileMgt.prototype.convertToOSPath = function(nodeName) );

8254: }

8255:

8256: FileMgt.prototype.getACL = function(aclType)

8259:

8260: FileMgt.prototype.createFSExport = function(directory, shareName, descrArg, optionsArg) )));

8267: }

8268:

8269: FileMgt.prototype.getFSExport = function(shareName) ));

8272: if (index >= 0)

8275: }

8276: return undefined;

8277: }

8278:

8279: FileMgt.prototype.getFSExports = function()

8282:

8283:

8284: FileMgt.prototype.getFSMount = function(node) ));

8286: return new FSMount(index);

8287: }

8288:

8289: FileMgt.prototype.getFSMounts = function()

8292:

8293: FileMgt.prototype.getTMPDir = function()

8304: // Code of Java Script Block :javaproperties

8305:

8306: // This is the public implementation of the JavaProperties object.

8307:

8308: // Constructor

8309: // new JavaProperties(Stream stream) or

8310: // new JavaProperties()

8311: // If called with argument, calls this.load() with the argument.

8312: function JavaProperties(arg)

8318: }

8319: JavaProperties.prototype = new Properties();

8320: JavaProperties.debug = false;

8321: JavaProperties.prototype._trace = function(trace)

8325: }

8326:

8327: JavaProperties.prototype.load = function(stream, merge)

8332: var property = /^s((

))s(s(.*))?$/;

8333: // ^^^

8334: // | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

8335: // | |^^^^^^^^^^^^^^^^^^^

8336: // | || ^^^^^^^^

8337: // | || | ^^^^^^^^^^^^^

8338: // | || | | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

8339: // | || | | |

8340: // | || | | | ^^^^

8341: // | || | | | |

8342: // | || | | | match the value with enclosed and

8343: // | || | | | trailing whitespace

8344: // | || | | match the optional '= value ' part

8345: // | || | the separator and the whitespace enclosing it

8346: // | || the part of the key after the last escaped separator

8347: // | |match escaped sepators (blah=) to include them in the key

8348: // | match the whole key

8349: // skip whitespace at BOL

8350: //

8351: var keyindex = 1;

8352: var valueindex = 4;

8353: var comment = /^[!#].*$/;

8354: var empty = /^s*$/;

8355: var cont = /^s(.)$/;

8356: var separators = /

()/g;

8357: var trailingws = /s*$/;

8358:

8359: for (var it = stream.getIterator(); ! it.isDone(); it.next())

8368: line += cont.exec(it.get())[1];

8369: }

8370: var commentArray = comment.exec(line);

8371: var emptyArray = empty.exec(line);

8372: if (commentArray == undefined && emptyArray == undefined)

8410: } else

8413: }

8414: value = value.replace(trailingws, "");

8415: }

8416: this._trace("read Property " + key + "='" + value + "'");

8417: this.add(new Property(key, value));

8418: }

8419: } else

8423: }

8424: }

8425:

8426: JavaProperties.prototype.store = function(stream)

8445: switch (s) else

8452: break;

8453: // case "#":

8454: // quoted += "

" + s; break;

8455: // case "!":

8456: // quoted += "

" + s; break;

8457: case "=":

8458: quoted += "

" + s; break;

8459: case ":":

8460: quoted += "

" + s; break;

8461: case " ":

8462: quoted += "

" + "t"; break;

8463: case "

":

8464: quoted += "

"; break;

8465: case " ":

8466: quoted += "

" + "r"; break;

8467: case "

":

8468: quoted += "

" + "n"; break;

8469: default:

8470: quoted += s; break;

8471: }

8472: }

8473: value = quoted;

8474: }

8475: if (name == "" && value != "")

8479: }

8480: stream.putLine(name + sep + value);

8481: }

8482: }

8483:

8484: try

8519: }

8520: if ( importAdobe == "TRUE" )

8521:

8527: }

8528: }

8529: context.set( "ListOfServers", ListOfServersValue );

8530: installer.writeTrace( msg )

8531: context.set("standalone", standalone);

8532: context.set("iaikFullVersion", iaikFullVersion);

8533: } catch (e) else

8539: }

8540: }

8541: InstallationScript_19();

ERROR 2006-02-07 11:13:50

EJS_ErrorReporter

FJS-00003 TypeError: (new FileMgt()).getNode(PropertyFileFullPath) has no properties (in script InstallationScript_19, line 8488: ???)

WARNING 2006-02-07 11:13:50

CController::stepExecuted()

The step readSourceProperties with step key J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|J2EE_SystemCopy|ind|ind|ind|ind|ind|0|readSourceProperties was executed with status ERROR.

TRACE

main()

An error occurred during the installation of component SAP NetWeaver Sneak Preview '04 Support Release 1> Migration - Target System Installation. Press the log view button to get extended error information or press OK to terminate the installation. Log files are written to SAP NetWeaver Sneak Preview '04 Support Release 1> Migration - Target System Installation.

TRACE

showDialog()

waiting for an answer from gui

TRACE

CDialogHandler::doHandleDoc()

ACTION_OK received

WARNING 2006-02-07 14:09:44

main()

An error occurred during the installation.

I hope you can help.

Regards,

Bas