Recordcount on str.Proc. result

When my str. Proc. returning a query result and I use cfdump to see the resultset I can see it displays in my screen just fine.
but if the result of str. proc. is 0 my code throw an error :
Element RECORDCOUNT is undefined in Q_my_strproc_name.
The error points to the following code:
<cfif Q_my_strproc_name.recordcount NEQ 0>
......etc
How can I prevent error when the str proc. does not return any result if I can't use  Q_my_strproc_name.recordcount?
Thank you for any help.

Hi,
Please try this,
<cfif isdefined("Q_my_strproc_name") AND Q_my_strproc_name.recordcount GT 0>
</cfif>

Similar Messages

  • BPEL is not showing current Stored Proc Result.

    Hi All,
    I am invoking stored Procedure in BPEL. After successful testing I changed Stored Procedure logic.I again tested Stored Procedure, It is not giving results as per logic I changed.
    Can Any one Help On this.
    Regards

    a fairly vague request, are you able to provide examples. From they you you explain the issue it looks like the stored procedure is behaiving as expected.
    cheers
    James

  • Many procs results in: weblogic.jdbc.extensions.PoolDisabledSQLException

    We have an issue whenever we submit say 100 or more processes at the same time to be started.
    The first processes all start and work fine.
    But at some point things go wrong.
    In the log directory under our SOA project, we find these error messages:
    Fault ID service:90091
    Fault Time 26-Apr-2011 09:06:20
    Non Recoverable System Fault :
    Exception [TOPLINK-4002] (Oracle TopLink - 11g Release 1 (11.1.1.4.0) (Build 101210)): oracle.toplink.exceptions.DatabaseException Internal >Exception:
    weblogic.jdbc.extensions.PoolDisabledSQLException: weblogic.common.resourcepool.ResourceDisabledException: Pool SOALocalTxDataSource is >Suspended, cannot allocate resources to applications..
    Error Code: 0Followed a bit later by this:
    Fault ID service:90101
    Fault Time 26-Apr-2011 09:06:58
    Non Recoverable System Fault :
    Exception [TOPLINK-4002] (Oracle TopLink - 11g Release 1 (11.1.1.4.0) (Build 101210)): oracle.toplink.exceptions.DatabaseException >Internal Exception:
    weblogic.jdbc.extensions.ConnectionDeadSQLException: weblogic.common.resourcepool.ResourceDeadException: >0:weblogic.common.ResourceException: Could not create pool connection.
    The DBMS driver exception was: IO-fout: Socket read timed out Error Code: 0 Call:
    SQLCall(INSERT INTO COMPOSITE_INSTANCE (ID, COMPOSITE_DN, CONVERSATION_ID, UPDATED_BY, PARENT_ID, CREATED_TIME, TAGS, ECID, INDEX6, TEST_RUN_NAME, INDEX4, TEST_RUN_ID, INDEX2, TEST_SUITE, BUSINESS_STATUS, TEST_CASE, BATCH_ID, SOURCE_NAME, UPDATED_TIME, SOURCE_TYPE, TITLE, SOURCE_ACTION_TYPE, INDEX3, SOURCE_ACTION_NAME, BATCH_INDEX, STATE, CREATED_BY, LIVE_INSTANCES, INDEX1, STATE_COUNT, INDEX5, VERSION, HAS_ASSOC, PARTITION_DATE) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?))
    Query: InsertObjectQuery([email protected]12d437)We have a feeling that we need to throttle the creation of these processes.
    Appreciate any ideas we might try to fix this issue.

    We have set the 'maximum capacity' of that data source to 500.
    When we submit 100 BPEL instances to be started, we see (by monitoring v$session inside the database) that the number of sessions opened by BPEL never goes beyond a few (5 to 10) database sessions.
    Yet we still encounter this 'pool is suspended' error:
    weblogic.jdbc.extensions.PoolDisabledSQLException: weblogic.common.resourcepool.ResourceDisabledException:
    Pool SOALocalTxDataSource is uspended, cannot allocate resources to applications..We can then reset the status of this pool back to running. It then runs for a while, but after 5 - 10 minutes the status flips back to 'suspended' again.
    In search of some kind of workaround, we have also set (in composite.xml) the minimumDelayBetweenMessages to 2 seconds, just to ensure that we throttle the creation of our BPEL processes:
    <service name="ReceiveFlowEvent" ui:wsdlLocation="ReceiveFlowEvent.wsdl">
        <interface.wsdl interface="http://xmlns.oracle.com/pcbpel/adapter/aq/PASSOA/WorkflowDispatcher/ReceiveFlowEvent#wsdl.interface(Dequeue_ptt)"/>
        <binding.jca config="ReceiveFlowEvent_aq.jca">
            <property name="jca.retry.count">3</property>
            <property name="jca.retry.interval">5</property>
            <!--property name="jca.retry.interval">20</property-->
            <!--property name="jca.retry.backoff">2</property-->
            <property name="minimumDelayBetweenMessages">2000</property>
            <property name="adapter.aq.dequeue.threads">1</property>
        </binding.jca>
      </service>
    ...Any more clues are appreciated.
    Edited by: Toon Koppelaars on May 9, 2011 4:45 PM

  • Can I ignore a return result?

    Hi!
    I'm not too sure what am I supposed to do with situation like this.
    My CF application work just fine but suddenly the DB guy changed a stored Procedure that is used in my application.
    The changes did not cause major effects but I noticed the cfmail tags and a delete statement right after this stored procedure, is not executed anymore.
    The only different between old str. proc and new str. proc. is that the new str. proc. is now returning some result where my app. does not need.
    So in other words, after that str. proc is executed, it returns a result and my CF ignore it and I expect CF should continue on running the rest of the codes which is a CFMAIL tags and a delete statement.
    The DB guy can't do much since using the old str. proc. produced unexpected result and also according to him he doesn't have much choice since the db is set by a third party vendor where he doesn't have too much access to.
    My question is:
    I have tried to adjust my codes so that my CFMAIL and delete statement run regardless of how the new str. proc being set but I'm not so sure how to handle  the return result by this str. proc.
    Can I just ignore it?
    The adjusment I made was to put all my CF codes above this str. proc. So after all my CF codes are run, I let the str proc. run and that's the end of the process. Is this acceptable?  what can go wrong if I let this app running and ignoring the return result on every process? Please advice

    Well technically no, nothing in ColdFusion will stop working or error simply because you're ignoring a return value from a function, method or stored procedure.
    Whether this matters on a business level, only you can tell that by examining the code carefully. The fact that your code is now behaving in a different way (ie not running parts it's meant to) would imply that application-wise it actually matters a lot what the returncode is.
    If something's changes and it has an effect, it probably matters.

  • Dynamic query with x.recordcount output

    I have a query that gets Distinct States listed in a Sponsor table
    <cfquery name="statecount" datasource="#db#">
    SELECT DISTINCT STATE FROM tbl_sponsors
    WHERE SalesRep = "#form.user#" or Manager = "#form.user#"
    </cfquery>
    I then loop through the results with this:
    <cfloop from="1" to="#statecount.RecordCount#" index="i">
    The results are: WA and OR
    Inside the loop I create an array for:
    <cfset getTotals = ArrayNew(1)>
    <cfset ArrayAppend(getTotals, "getTotals#statecount.State[i]#")> This sets "getTotalsWA" and "getTotalsOR" correlating to each loop.
    I use the "getTotals" variable to name my query:
    <cfquery name="#getTotals[1]#" datasource="#mydatasource#>
    I run into a problem when trying to call the RecordCount of the "getTotals[1]" result - #getTotals[1].RecordCount#.
    I get the error:
    You have attempted to dereference a scalar variable of type class java.lang.String as a structure with members
    My logic makes sense to me, but obviously is wrong.  How can I adjust it to work?

    So I see where yur logic is failing you.
    So let's say that getTotals[1] = "getTotalsWA"
    That means that getTotals[1] is a string
    Now you create a query with that value
    <cfquery name="#getTotals[1]#" ... >
    You now have a query object names "getTotalsWA"
    But what you are trying to output is: #getTotals[1].RecordCount#
    getTotals[1] is still just the string "getTotalsWA" and therefore does not have the attribute RECORDCOUNT. You are still referencing the string in the array get totals, you are not referencing the newly created variable named "getTotalsWA"
    To access that value you need to go at it a little differently. 
    Try this:  #variables[getTotals[1]].RecordCount#
    I think this will work. Here, I am telling CF to get the variable named #getTotals[1]# (which translates to "getTotalsWA" from the VARIABLES scope.

  • SharePoint Foundation 2010, hotfix install fail "An error occurred while running detection"

    Hi all,
    I am having a lot of trouble installing hotfix 2849990 on my server. After running it shows the error "An error occurred while running detection". I tried another hotfix as well but got the same result. I read on the web to do a "repair"
    but I cannot seem to access that. I attempting to run the install to get there, I click "Install SharePoint Foundation" a new window begins and I can see a new window open that reads "Please wait while setup prepares the necessarily files"
    Very shortly after this opens, it then closes and nothing else happens. 
    Anybody have any suggestions?
    Thanks!

    Thanks for the quick reply. Here is the Folder I am looking in:
    "C:\Users\[My User]\AppData\Local\Temp\2" Let me know if this is incorrect.
    Here is some of my opatchinstall log:
    OPatchInstall: Logging all properties
    OPatchInstall: Property 'PACKAGE.KBARTICLE' value '2880975'
    OPatchInstall: Property 'PACKAGE.MIN.MSI.VER' value '3.1.0.0'
    OPatchInstall: Property 'PACKAGE.NAME' value 'Hotfix for Microsoft SharePoint Foundation 2010 (KB2880975) 64-Bit Edition'
    OPatchInstall: Property 'PACKAGE.PATH.TEMP' value 'C:\Users\SVCSAN~2\AppData\Local\Temp\2\OWPBBC.tmp'
    OPatchInstall: Property 'PACKAGE.PLATFORM' value '64-Bit Edition'
    OPatchInstall: Property 'PACKAGE.PRODUCTNAME' value 'Microsoft SharePoint Foundation 2010'
    OPatchInstall: Property 'PACKAGE.PROMPT.ALREADYINSTALLED' value 'The update is already installed on this system.'
    OPatchInstall: Property 'PACKAGE.PROMPT.CONFIG.AFTERUPDATE' value 'You must install the same SharePoint 2010 Products and patches on every server in your server farm. If you have multiple servers in your farm, please immediately install the same patches on all the other farm servers once this installation has completed.'
    OPatchInstall: Property 'PACKAGE.PROMPT.DETECTIONERROR' value 'An error occurred while running detection.'
    OPatchInstall: Property 'PACKAGE.PROMPT.DETFAILED' value 'The detection failed, this can be due to a corrupted installation database.'
    OPatchInstall: Property 'PACKAGE.PROMPT.ERROR.WITHKB' value 'The installation of this package failed. Please see for more information.'
    OPatchInstall: Property 'PACKAGE.PROMPT.EULA' value 'You must accept the Microsoft Software License Terms in order to continue the installation.'
    OPatchInstall: Property 'PACKAGE.PROMPT.EXTRACTFAILURE' value 'The extraction of files from this package failed.'
    OPatchInstall: Property 'PACKAGE.PROMPT.EXTRACTFOLDER' value 'Select a folder to store the extracted files'
    OPatchInstall: Property 'PACKAGE.PROMPT.INITIAL' value 'Do you wish to proceed with the installation?'
    OPatchInstall: Property 'PACKAGE.PROMPT.INSTALLCANCELED' value 'The installation of this package was canceled.'
    OPatchInstall: Property 'PACKAGE.PROMPT.INSTALLFAILURE' value 'The installation of this package failed.'
    OPatchInstall: Property 'PACKAGE.PROMPT.INSTALLSUCCESS' value 'The installation is complete.'
    OPatchInstall: Property 'PACKAGE.PROMPT.NOPRODUCTSPRESENT' value 'There are no products affected by this package installed on this system.'
    OPatchInstall: Property 'PACKAGE.PROMPT.NOTADMINUSER' value 'You do not have sufficient privileges to complete this installation for all users of the machine. Log on as administrator and then retry this installation.'
    OPatchInstall: Property 'PACKAGE.PROMPT.NOTMINMSIVERSION' value 'This program requires Windows Installer 3.1.0.0 (or greater).'
    OPatchInstall: Property 'PACKAGE.PROMPT.NOTNEEDED' value 'This package is not needed for the current release of the installed product.'
    OPatchInstall: Property 'PACKAGE.PROMPT.PATCHEDBYADMIN' value 'The update cannot be installed due to a previous update was installed through a modified installation source.'
    OPatchInstall: Property 'PACKAGE.PROMPT.PRODUCTVERSIONFAILURE' value 'The expected version of the product was not found on the system.'
    OPatchInstall: Property 'PACKAGE.PROMPT.REBOOTNEEDED' value 'Do you want to reboot now to complete the installation of this package?'
    OPatchInstall: Property 'PACKAGE.PROMPT.RM.CONFIRM' value '&OK'
    OPatchInstall: Property 'PACKAGE.PROMPT.RM.DETECTION' value 'Please wait while we determine the list of files that need to be updated.'
    OPatchInstall: Property 'PACKAGE.PROMPT.RM.DISABLE' value 'Do &not close applications. (A Reboot will be required.)'
    OPatchInstall: Property 'PACKAGE.PROMPT.RM.ENABLE' value 'Automatically &close applications and attempt to restart them after setup is complete.'
    OPatchInstall: Property 'PACKAGE.PROMPT.RM.OPERATION' value 'The following applications should be closed before continuing the install:'
    OPatchInstall: Property 'PACKAGE.PROMPT.WATSON.DETAILSPREBODY' value 'Hotfix for Microsoft SharePoint Foundation 2010 (KB2880975) 64-Bit Edition failed to install.'
    OPatchInstall: Property 'PACKAGE.PROMPT.WATSON.GENERALAPPNAME' value 'Hotfix for Microsoft SharePoint Foundation 2010 (KB2880975) 64-Bit Edition'
    OPatchInstall: Property 'PACKAGE.PROMPT.WATSON.GENERALREPORTEE' value 'Microsoft'
    OPatchInstall: Property 'PACKAGE.PROMPT.WATSON.INTROREG' value 'We apologize for the update installation failure'
    OPatchInstall: Property 'PACKAGE.PROMPT.WATSON.MAINCAPTION' value 'Report Hotfix for Microsoft SharePoint Foundation 2010 (KB2880975) 64-Bit Edition Installation Failure'
    OPatchInstall: Property 'PACKAGE.PROMPT.WATSON.MAININTROBOLD' value 'An error report containing information about the updates that failed installation has been generated.'
    OPatchInstall: Property 'PACKAGE.PROMPT.WATSON.MAINNOREPORTBTN' value 'Cancel'
    OPatchInstall: Property 'PACKAGE.PROMPT.WATSON.MAINPLEAREG' value 'Using the information in the report we can investigate and potentially fix the problem you experienced. We will treat this report as confidential and anonymous.'
    OPatchInstall: Property 'PACKAGE.PROMPT.WATSON.MAINREPORTBTN' value 'Send Report'
    OPatchInstall: Property 'PACKAGE.RM.ENABLED' value '0'
    OPatchInstall: Property 'PACKAGE.RM.MINOS.VERSION' value '600'
    OPatchInstall: Property 'PACKAGE.STRING.CANCEL' value '&Cancel'
    OPatchInstall: Property 'PACKAGE.STRING.CANCELCONFIRMATION' value 'Are you sure you want to cancel setup?'
    OPatchInstall: Property 'PACKAGE.STRING.CONTINUE' value '&Continue'
    OPatchInstall: Property 'PACKAGE.STRING.DETECTING' value 'Please wait while update detection is being run.'
    OPatchInstall: Property 'PACKAGE.STRING.EULACHECKBOX' value 'Click here to &accept the Microsoft Software License Terms.'
    OPatchInstall: Property 'PACKAGE.STRING.EXTRACTING' value 'Extracting files, please wait...'
    OPatchInstall: Property 'PACKAGE.STRING.HELP' value 'Usage:
    /extract:path, extracts the content of the package to the path folder
    /log[:path to log file], enables verbose logging for the update installation
    /lang:lcid, sets the user interface to the specified locale when multiple locales are available within the package
    /quiet, runs the package in silent mode
    /passive, runs the update without any interaction from the user
    /norestart, prevents prompting of user when reboot of machine is needed
    /forcerestart, forced restart of machine once update is complete
    /?, shows this help message'
    OPatchInstall: Property 'PACKAGE.STRING.INSTALLING' value 'Please wait while the update is installed.'
    OPatchInstall: Property 'PACKAGE.SUCCESS.WITHERRORS' value 'The installation is complete. However, some updates were not applied (please see the log for additional details).'
    OPatchInstall: Property 'PATCH.FILEID.EULA' value 'volumelicense_eula_postrtm_en-us.txt'
    OPatchInstall: Property 'PATCH.LANG' value '1033'
    OPatchInstall: Property 'SYS.ARGS.EXTRACT' value '0'
    OPatchInstall: Property 'SYS.ARGS.EXTRACTPATH' value 'NONE'
    OPatchInstall: Property 'SYS.ARGS.EXTRACTPATHREADONLY' value '0'
    OPatchInstall: Property 'SYS.ARGS.EXTRACTREADONLY' value '0'
    OPatchInstall: Property 'SYS.ARGS.FORCERESTART' value '0'
    OPatchInstall: Property 'SYS.ARGS.FORCERESTARTREADONLY' value '0'
    OPatchInstall: Property 'SYS.ARGS.HELP' value '0'
    OPatchInstall: Property 'SYS.ARGS.HELPREADONLY' value '0'
    OPatchInstall: Property 'SYS.ARGS.LANG' value '0'
    OPatchInstall: Property 'SYS.ARGS.LANGREADONLY' value '0'
    OPatchInstall: Property 'SYS.ARGS.LANGVALUE' value 'NONE'
    OPatchInstall: Property 'SYS.ARGS.LANGVALUEREADONLY' value '0'
    OPatchInstall: Property 'SYS.ARGS.LOG' value '1'
    OPatchInstall: Property 'SYS.ARGS.LOGPATH' value 'NONE'
    OPatchInstall: Property 'SYS.ARGS.LOGPATHREADONLY' value '0'
    OPatchInstall: Property 'SYS.ARGS.LOGREADONLY' value '0'
    OPatchInstall: Property 'SYS.ARGS.NORESTART' value '0'
    OPatchInstall: Property 'SYS.ARGS.NORESTARTREADONLY' value '0'
    OPatchInstall: Property 'SYS.ARGS.PASSIVE' value '0'
    OPatchInstall: Property 'SYS.ARGS.PASSIVEREADONLY' value '0'
    OPatchInstall: Property 'SYS.ARGS.QUIET' value '0'
    OPatchInstall: Property 'SYS.ARGS.QUIETREADONLY' value '0'
    OPatchInstall: Property 'SYS.ERROR.ARG1' value 'NONE'
    OPatchInstall: Property 'SYS.ERROR.ARG2' value 'NONE'
    OPatchInstall: Property 'SYS.ERROR.ARG3' value 'NONE'
    OPatchInstall: Property 'SYS.ERROR.ARG4' value 'NONE'
    OPatchInstall: Property 'SYS.ERROR.ARG5' value 'NONE'
    OPatchInstall: Property 'SYS.ERROR.CODE' value '0'
    OPatchInstall: Property 'SYS.ERROR.INERROR' value '0'
    OPatchInstall: Property 'SYS.ERROR.TYPE' value 'NONE'
    OPatchInstall: Property 'SYS.LANG.LCID' value '1033'
    OPatchInstall: Property 'SYS.LANG.NAME' value 'en-us'
    OPatchInstall: Property 'SYS.LANG.RTL' value '0'
    OPatchInstall: Property 'SYS.MSI.VER' value '5.0.7601.17807'
    OPatchInstall: Property 'SYS.PATCH.NEEDREBOOT' value '0'
    OPatchInstall: Property 'SYS.PATCH.SUGGESTREBOOT' value '0'
    OPatchInstall: Property 'SYS.PROC.RESULT' value '0'
    OPatchInstall: Property 'SYS.WIN.ARCHITECTURE' value 'X64'
    OPatchInstall: Property 'SYS.WIN.PACKAGEPATH' value 'C:\Users\Svcsandspfarm\Desktop\ubersts2010-kb2880975-fullfile-x64-glb.exe'
    OPatchInstall: Property 'SYS.WIN.PLATFORM' value 'WINNT'
    OPatchInstall: Property 'SYS.WIN.SHELLVER' value '6.1.7601.18429'
    OPatchInstall: Property 'SYS.WIN.SPLEVEL' value '100'
    OPatchInstall: Property 'SYS.WIN.SYSTEMLCID' value '1033'
    OPatchInstall: Property 'SYS.WIN.USERADMIN' value '1'
    OPatchInstall: Property 'SYS.WIN.USERLCID' value '1033'
    OPatchInstall: Property 'SYS.WIN.VER' value '601'
    OPatchInstall: End of all properties
    OPatchInstall: Setting system property 'SYS.ARGS.LOGREADONLY' with value '1'
    OPatchInstall: Setting system property 'SYS.ARGS.LOGPATH' with value 'C:\Users\SVCSAN~2\AppData\Local\Temp\2\opatchinstall(6).log'
    OPatchInstall: Setting system property 'SYS.ARGS.LOGPATHREADONLY' with value '1'
    OPatchInstall: Done executing the IfFalse list
    OPatchInstall: CActionIf::execute ends
    OPatchInstall: Done executing the IfTrue list
    OPatchInstall: CActionIf::execute ends
    OPatchInstall: Done executing action
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionIf
    OPatchInstall: CActionIf::initFromElement starts
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionEqual
    OPatchInstall: CConditionStatementComparison::initFromElement starts
    OPatchInstall: Will compare the property 'SYS.ARGS.LOG' to '1'
    OPatchInstall: CConditionStatementComparison::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionSetProperty
    OPatchInstall: CActionSetProperty::initFromElement starts
    OPatchInstall: Will set the property 'LOGPATH' to value '$(fullPath:SYS.ARGS.LOGPATH)'
    OPatchInstall: CActionSetProperty::initFromElement ends
    OPatchInstall: CActionIf::initFromElement ends
    OPatchInstall: Executing action
    OPatchInstall: CActionIf::execute starts
    OPatchInstall: Begin evaluation of the condition
    OPatchInstall: The property 'SYS.ARGS.LOG' is equal to '1'
    OPatchInstall: Evaluation of the condition complete, the result is true
    OPatchInstall: Executing the IfTrue list
    OPatchInstall: Setting property 'LOGPATH' to value 'C:\Users\SVCSAN~2\AppData\Local\Temp\2\opatchinstall(6).log'
    OPatchInstall: Done executing the IfTrue list
    OPatchInstall: CActionIf::execute ends
    OPatchInstall: Done executing action
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionExtractFile
    OPatchInstall: CActionExtractFile::initFromElement starts
    OPatchInstall: Will extract the file with ID '$(PATCH.FILEID.EULA)' to the path '$(PACKAGE.PATH.TEMP)\eula.txt'
    OPatchInstall: CActionExtractFile::initFromElement ends
    OPatchInstall: Executing action
    OPatchInstall: CActionExtractFile::execute starts
    OPatchInstall: Will extract the file with ID 'volumelicense_eula_postrtm_en-us.txt' to the path 'C:\Users\SVCSAN~2\AppData\Local\Temp\2\OWPBBC.tmp\eula.txt'
    OPatchInstall: Getting the data from the file 'C:\Users\Svcsandspfarm\Desktop\ubersts2010-kb2880975-fullfile-x64-glb.exe'
    OPatchInstall: Successfully retrieved the data location and size
    OPatchInstall: CActionExtractFile::execute ends
    OPatchInstall: Done executing action
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionIf
    OPatchInstall: CActionIf::initFromElement starts
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionBooleanOperator<CConditionListAnd>
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionPropertyDefined
    OPatchInstall: CConditionPropertyDefined::initFromElement starts
    OPatchInstall: Will check if the property 'SYS.ERROR.INERROR' exists
    OPatchInstall: CConditionPropertyDefined::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionEqual
    OPatchInstall: CConditionStatementComparison::initFromElement starts
    OPatchInstall: Will compare the property 'SYS.ERROR.INERROR' to '1'
    OPatchInstall: CConditionStatementComparison::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionSetProperty
    OPatchInstall: CActionSetProperty::initFromElement starts
    OPatchInstall: Will set the property 'SYS.PROC.RESULT' to value '17303'
    OPatchInstall: CActionSetProperty::initFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionIf
    OPatchInstall: CActionIf::initFromElement starts
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionEqual
    OPatchInstall: CConditionStatementComparison::initFromElement starts
    OPatchInstall: Will compare the property 'SYS.ARGS.PASSIVE' to '0'
    OPatchInstall: CConditionStatementComparison::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionPrompt
    OPatchInstall: CActionPrompt::initFromElement starts
    OPatchInstall: Will prompt with title '$(PACKAGE.NAME)
    OPatchInstall: Will prompt with text '$(PACKAGE.PROMPT.INSTALLFAILURE)
    OPatchInstall: No action list for quiet UI specified
    OPatchInstall: OK button specified, parsing actions
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionQuit
    OPatchInstall: Finished parsing actions
    OPatchInstall: CActionPrompt::initFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionQuit
    OPatchInstall: CActionIf::initFromElement ends
    OPatchInstall: CActionIf::initFromElement ends
    OPatchInstall: Executing action
    OPatchInstall: CActionIf::execute starts
    OPatchInstall: Begin evaluation of the condition
    OPatchInstall: Executing CConditionBooleanOperator::evaluate
    OPatchInstall: The property 'SYS.ERROR.INERROR' exists
    OPatchInstall: The property 'SYS.ERROR.INERROR' is not equal to '1'
    OPatchInstall: Evaluation of the condition complete, the result is false
    OPatchInstall: Executing the IfFalse list
    OPatchInstall: Done executing the IfFalse list
    OPatchInstall: CActionIf::execute ends
    OPatchInstall: Done executing action
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionIf
    OPatchInstall: CActionIf::initFromElement starts
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionEqual
    OPatchInstall: CConditionStatementComparison::initFromElement starts
    OPatchInstall: Will compare the property 'SYS.ARGS.PASSIVE' to '0'
    OPatchInstall: CConditionStatementComparison::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionIf
    OPatchInstall: CActionIf::initFromElement starts
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionPropertyDefined
    OPatchInstall: CConditionPropertyDefined::initFromElement starts
    OPatchInstall: Will check if the property 'PACKAGE.NOEULA.PROMPT' exists
    OPatchInstall: CConditionPropertyDefined::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionIf
    OPatchInstall: CActionIf::initFromElement starts
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionEqual
    OPatchInstall: CConditionStatementComparison::initFromElement starts
    OPatchInstall: Will compare the property 'PACKAGE.NOEULA.PROMPT' to '1'
    OPatchInstall: CConditionStatementComparison::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionPromptEULA
    OPatchInstall: CActionPromptEULA::initFromElement starts
    OPatchInstall: No action list for quiet UI specified
    OPatchInstall: No Accept button specified
    OPatchInstall: Cancel button specified, parsing actions
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionQuit
    OPatchInstall: CActionPromptEULA::initFromElement ends
    OPatchInstall: CActionIf::initFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionPromptEULA
    OPatchInstall: CActionPromptEULA::initFromElement starts
    OPatchInstall: No action list for quiet UI specified
    OPatchInstall: No Accept button specified
    OPatchInstall: Cancel button specified, parsing actions
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionQuit
    OPatchInstall: CActionPromptEULA::initFromElement ends
    OPatchInstall: CActionIf::initFromElement ends
    OPatchInstall: CActionIf::initFromElement ends
    OPatchInstall: Executing action
    OPatchInstall: CActionIf::execute starts
    OPatchInstall: Begin evaluation of the condition
    OPatchInstall: The property 'SYS.ARGS.PASSIVE' is equal to '0'
    OPatchInstall: Evaluation of the condition complete, the result is true
    OPatchInstall: Executing the IfTrue list
    OPatchInstall: CActionIf::execute starts
    OPatchInstall: Begin evaluation of the condition
    OPatchInstall: The property 'PACKAGE.NOEULA.PROMPT' doesn't exist
    OPatchInstall: Evaluation of the condition complete, the result is false
    OPatchInstall: Executing the IfFalse list
    OPatchInstall: CActionPromptEULA::execute starts
    OPatchInstall: Running in full UI, will show the EULA dialog
    OPatchInstall: Reading EULA from file 'C:\Users\SVCSAN~2\AppData\Local\Temp\2\OWPBBC.tmp\eula.txt'
    OPatchInstall: User Accepted the EULA, executing the Accept action list
    OPatchInstall: Finished executing the Accept action list
    OPatchInstall: CActionPromptEULA::execute ends
    OPatchInstall: Done executing the IfFalse list
    OPatchInstall: CActionIf::execute ends
    OPatchInstall: Done executing the IfTrue list
    OPatchInstall: CActionIf::execute ends
    OPatchInstall: Done executing action
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionIf
    OPatchInstall: CActionIf::initFromElement starts
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionEqual
    OPatchInstall: CConditionStatementComparison::initFromElement starts
    OPatchInstall: Will compare the property 'SYS.ARGS.EXTRACT' to '1'
    OPatchInstall: CConditionStatementComparison::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionIf
    OPatchInstall: CActionIf::initFromElement starts
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionBooleanOperator<CConditionListOr>
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionEqual
    OPatchInstall: CConditionStatementComparison::initFromElement starts
    OPatchInstall: Will compare the property 'SYS.ARGS.EXTRACTPATH' to ''
    OPatchInstall: CConditionStatementComparison::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionEqual
    OPatchInstall: CConditionStatementComparison::initFromElement starts
    OPatchInstall: Will compare the property 'SYS.ARGS.EXTRACTPATH' to 'NONE'
    OPatchInstall: CConditionStatementComparison::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionPromptFolder
    OPatchInstall: CActionPromptFolder::initFromElement starts
    OPatchInstall: Will prompt the user with the title '$(PACKAGE.PROMPT.EXTRACTFOLDER)' and store the folder in 'PACKAGE.EXTRACT.FOLDER' if cancelled will set 'PACKAGE.FOLDER.CANCELED'
    OPatchInstall: CActionPromptFolder::initFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionIf
    OPatchInstall: CActionIf::initFromElement starts
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionBooleanOperator<CConditionListAnd>
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionPropertyDefined
    OPatchInstall: CConditionPropertyDefined::initFromElement starts
    OPatchInstall: Will check if the property 'PACKAGE.FOLDER.CANCELED' exists
    OPatchInstall: CConditionPropertyDefined::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionEqual
    OPatchInstall: CConditionStatementComparison::initFromElement starts
    OPatchInstall: Will compare the property 'PACKAGE.FOLDER.CANCELED' to '1'
    OPatchInstall: CConditionStatementComparison::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionSetProperty
    OPatchInstall: CActionSetProperty::initFromElement starts
    OPatchInstall: Will set the property 'SYS.PROC.RESULT' to value '17023'
    OPatchInstall: CActionSetProperty::initFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionIf
    OPatchInstall: CActionIf::initFromElement starts
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionEqual
    OPatchInstall: CConditionStatementComparison::initFromElement starts
    OPatchInstall: Will compare the property 'SYS.ARGS.PASSIVE' to '0'
    OPatchInstall: CConditionStatementComparison::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionPrompt
    OPatchInstall: CActionPrompt::initFromElement starts
    OPatchInstall: Will prompt with title '$(PACKAGE.NAME)
    OPatchInstall: Will prompt with text '$(PACKAGE.PROMPT.INSTALLCANCELED)
    OPatchInstall: No action list for quiet UI specified
    OPatchInstall: OK button specified, parsing actions
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionQuit
    OPatchInstall: Finished parsing actions
    OPatchInstall: CActionPrompt::initFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionQuit
    OPatchInstall: CActionIf::initFromElement ends
    OPatchInstall: CActionIf::initFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionCreateFolder
    OPatchInstall: CActionFile::initFromElement starts
    OPatchInstall: Will check for file '$(PACKAGE.EXTRACT.FOLDER)'
    OPatchInstall: CActionFile::initFromElements ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionIf
    OPatchInstall: CActionIf::initFromElement starts
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionBooleanOperator<CConditionListAnd>
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionPropertyDefined
    OPatchInstall: CConditionPropertyDefined::initFromElement starts
    OPatchInstall: Will check if the property 'SYS.ERROR.INERROR' exists
    OPatchInstall: CConditionPropertyDefined::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionEqual
    OPatchInstall: CConditionStatementComparison::initFromElement starts
    OPatchInstall: Will compare the property 'SYS.ERROR.INERROR' to '1'
    OPatchInstall: CConditionStatementComparison::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionSetProperty
    OPatchInstall: CActionSetProperty::initFromElement starts
    OPatchInstall: Will set the property 'SYS.PROC.RESULT' to value '17024'
    OPatchInstall: CActionSetProperty::initFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionIf
    OPatchInstall: CActionIf::initFromElement starts
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionEqual
    OPatchInstall: CConditionStatementComparison::initFromElement starts
    OPatchInstall: Will compare the property 'SYS.ARGS.PASSIVE' to '0'
    OPatchInstall: CConditionStatementComparison::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionPrompt
    OPatchInstall: CActionPrompt::initFromElement starts
    OPatchInstall: Will prompt with title '$(PACKAGE.NAME)
    OPatchInstall: Will prompt with text '$(PACKAGE.PROMPT.EXTRACTFAILURE)
    OPatchInstall: No action list for quiet UI specified
    OPatchInstall: OK button specified, parsing actions
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionQuit
    OPatchInstall: Finished parsing actions
    OPatchInstall: CActionPrompt::initFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionQuit
    OPatchInstall: CActionIf::initFromElement ends
    OPatchInstall: CActionIf::initFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionQueueExtractFile
    OPatchInstall: CActionQueueExtractFile starts
    OPatchInstall: Will extract the file with ID 'wssmui-nb-no.msp' to the path '$(PACKAGE.EXTRACT.FOLDER)\wssmui-nb-no.msp'
    OPatchInstall: CAtionQueueExtractFile ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionIf
    OPatchInstall: CActionIf::initFromElement starts
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionBooleanOperator<CConditionListAnd>
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionPropertyDefined
    OPatchInstall: CConditionPropertyDefined::initFromElement starts
    OPatchInstall: Will check if the property 'SYS.ERROR.INERROR' exists
    OPatchInstall: CConditionPropertyDefined::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionEqual
    OPatchInstall: CConditionStatementComparison::initFromElement starts
    OPatchInstall: Will compare the property 'SYS.ERROR.INERROR' to '1'
    OPatchInstall: CConditionStatementComparison::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionSetProperty
    OPatchInstall: CActionSetProperty::initFromElement starts
    OPatchInstall: Will set the property 'SYS.PROC.RESULT' to value '17303'
    OPatchInstall: CActionSetProperty::initFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionIf
    OPatchInstall: CActionIf::initFromElement starts
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionEqual
    OPatchInstall: CConditionStatementComparison::initFromElement starts
    OPatchInstall: Will compare the property 'SYS.ARGS.PASSIVE' to '0'
    OPatchInstall: CConditionStatementComparison::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionPrompt
    OPatchInstall: CActionPrompt::initFromElement starts
    OPatchInstall: Will prompt with title '$(PACKAGE.NAME)
    OPatchInstall: Will prompt with text '$(PACKAGE.PROMPT.INSTALLFAILURE)
    OPatchInstall: No action list for quiet UI specified
    OPatchInstall: OK button specified, parsing actions
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionQuit
    OPatchInstall: Finished parsing actions
    OPatchInstall: CActionPrompt::initFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionQuit
    OPatchInstall: CActionIf::initFromElement ends
    OPatchInstall: CActionIf::initFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionQueueExtractFile
    OPatchInstall: CActionQueueExtractFile starts
    OPatchInstall: Will extract the file with ID 'wssmui-nb-no.xml' to the path '$(PACKAGE.EXTRACT.FOLDER)\wssmui-nb-no.xml'
    OPatchInstall: CAtionQueueExtractFile ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionIf
    OPatchInstall: CActionIf::initFromElement starts
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionBooleanOperator<CConditionListAnd>
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionPropertyDefined
    OPatchInstall: CConditionPropertyDefined::initFromElement starts
    OPatchInstall: Will check if the property 'SYS.ERROR.INERROR' exists
    OPatchInstall: CConditionPropertyDefined::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionEqual
    OPatchInstall: CConditionStatementComparison::initFromElement starts
    OPatchInstall: Will compare the property 'SYS.ERROR.INERROR' to '1'
    OPatchInstall: CConditionStatementComparison::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionSetProperty
    OPatchInstall: CActionSetProperty::initFromElement starts
    OPatchInstall: Will set the property 'SYS.PROC.RESULT' to value '17303'
    OPatchInstall: CActionSetProperty::initFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionIf
    OPatchInstall: CActionIf::initFromElement starts
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionEqual
    OPatchInstall: CConditionStatementComparison::initFromElement starts
    OPatchInstall: Will compare the property 'SYS.ARGS.PASSIVE' to '0'
    OPatchInstall: CConditionStatementComparison::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionPrompt
    OPatchInstall: CActionPrompt::initFromElement starts
    OPatchInstall: Will prompt with title '$(PACKAGE.NAME)
    OPatchInstall: Will prompt with text '$(PACKAGE.PROMPT.INSTALLFAILURE)
    OPatchInstall: No action list for quiet UI specified
    OPatchInstall: OK button specified, parsing actions
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionQuit
    OPatchInstall: Finished parsing actions
    OPatchInstall: CActionPrompt::initFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionQuit
    OPatchInstall: CActionIf::initFromElement ends
    OPatchInstall: CActionIf::initFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionQueueExtractFile
    OPatchInstall: CActionQueueExtractFile starts
    OPatchInstall: Will extract the file with ID 'wssmui-cy-gb.msp' to the path '$(PACKAGE.EXTRACT.FOLDER)\wssmui-cy-gb.msp'
    OPatchInstall: CAtionQueueExtractFile ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionIf
    OPatchInstall: CActionIf::initFromElement starts
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionBooleanOperator<CConditionListAnd>
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionPropertyDefined
    OPatchInstall: CConditionPropertyDefined::initFromElement starts
    OPatchInstall: Will check if the property 'SYS.ERROR.INERROR' exists
    OPatchInstall: CConditionPropertyDefined::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionEqual
    OPatchInstall: CConditionStatementComparison::initFromElement starts
    OPatchInstall: Will compare the property 'SYS.ERROR.INERROR' to '1'
    OPatchInstall: CConditionStatementComparison::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionSetProperty
    OPatchInstall: CActionSetProperty::initFromElement starts
    OPatchInstall: Will set the property 'SYS.PROC.RESULT' to value '17303'
    OPatchInstall: CActionSetProperty::initFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionIf
    OPatchInstall: CActionIf::initFromElement starts
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionEqual
    OPatchInstall: CConditionStatementComparison::initFromElement starts
    OPatchInstall: Will compare the property 'SYS.ARGS.PASSIVE' to '0'
    OPatchInstall: CConditionStatementComparison::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionPrompt
    OPatchInstall: CActionPrompt::initFromElement starts
    OPatchInstall: Will prompt with title '$(PACKAGE.NAME)
    OPatchInstall: Will prompt with text '$(PACKAGE.PROMPT.INSTALLFAILURE)
    OPatchInstall: No action list for quiet UI specified
    OPatchInstall: OK button specified, parsing actions
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionQuit
    OPatchInstall: Finished parsing actions
    OPatchInstall: CActionPrompt::initFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionQuit
    OPatchInstall: CActionIf::initFromElement ends
    OPatchInstall: CActionIf::initFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionQueueExtractFile
    OPatchInstall: CActionQueueExtractFile starts
    OPatchInstall: Will extract the file with ID 'wssmui-cy-gb.xml' to the path '$(PACKAGE.EXTRACT.FOLDER)\wssmui-cy-gb.xml'
    OPatchInstall: CAtionQueueExtractFile ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionIf
    OPatchInstall: CActionIf::initFromElement starts
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionBooleanOperator<CConditionListAnd>
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionPropertyDefined
    OPatchInstall: CConditionPropertyDefined::initFromElement starts
    OPatchInstall: Will check if the property 'SYS.ERROR.INERROR' exists
    OPatchInstall: CConditionPropertyDefined::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionEqual
    OPatchInstall: CConditionStatementComparison::initFromElement starts
    OPatchInstall: Will compare the property 'SYS.ERROR.INERROR' to '1'
    OPatchInstall: CConditionStatementComparison::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionSetProperty
    OPatchInstall: CActionSetProperty::initFromElement starts
    OPatchInstall: Will set the property 'SYS.PROC.RESULT' to value '17303'
    OPatchInstall: CActionSetProperty::initFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionIf
    OPatchInstall: CActionIf::initFromElement starts
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionEqual
    OPatchInstall: CConditionStatementComparison::initFromElement starts
    OPatchInstall: Will compare the property 'SYS.ARGS.PASSIVE' to '0'
    OPatchInstall: CConditionStatementComparison::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionPrompt
    OPatchInstall: CActionPrompt::initFromElement starts
    OPatchInstall: Will prompt with title '$(PACKAGE.NAME)
    OPatchInstall: Will prompt with text '$(PACKAGE.PROMPT.INSTALLFAILURE)
    OPatchInstall: No action list for quiet UI specified
    OPatchInstall: OK button specified, parsing actions
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionQuit
    OPatchInstall: Finished parsing actions
    OPatchInstall: CActionPrompt::initFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionQuit
    OPatchInstall: CActionIf::initFromElement ends
    OPatchInstall: CActionIf::initFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionQueueExtractFile
    OPatchInstall: CActionQueueExtractFile starts
    OPatchInstall: Will extract the file with ID 'wssmui-prs-af.msp' to the path '$(PACKAGE.EXTRACT.FOLDER)\wssmui-prs-af.msp'
    OPatchInstall: CAtionQueueExtractFile ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionIf
    OPatchInstall: CActionIf::initFromElement starts
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionBooleanOperator<CConditionListAnd>
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionPropertyDefined
    OPatchInstall: CConditionPropertyDefined::initFromElement starts
    OPatchInstall: Will check if the property 'SYS.ERROR.INERROR' exists
    OPatchInstall: CConditionPropertyDefined::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionEqual
    OPatchInstall: CConditionStatementComparison::initFromElement starts
    OPatchInstall: Will compare the property 'SYS.ERROR.INERROR' to '1'
    OPatchInstall: CConditionStatementComparison::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionSetProperty
    OPatchInstall: CActionSetProperty::initFromElement starts
    OPatchInstall: Will set the property 'SYS.PROC.RESULT' to value '17303'
    OPatchInstall: CActionSetProperty::initFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionIf
    OPatchInstall: CActionIf::initFromElement starts
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionEqual
    OPatchInstall: CConditionStatementComparison::initFromElement starts
    OPatchInstall: Will compare the property 'SYS.ARGS.PASSIVE' to '0'
    OPatchInstall: CConditionStatementComparison::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionPrompt
    OPatchInstall: CActionPrompt::initFromElement starts
    OPatchInstall: Will prompt with title '$(PACKAGE.NAME)
    OPatchInstall: Will prompt with text '$(PACKAGE.PROMPT.INSTALLFAILURE)
    OPatchInstall: No action list for quiet UI specified
    OPatchInstall: OK button specified, parsing actions
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionQuit
    OPatchInstall: Finished parsing actions
    OPatchInstall: CActionPrompt::initFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionQuit
    OPatchInstall: CActionIf::initFromElement ends
    OPatchInstall: CActionIf::initFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionQueueExtractFile
    OPatchInstall: CActionQueueExtractFile starts
    OPatchInstall: Will extract the file with ID 'wssmui-prs-af.xml' to the path '$(PACKAGE.EXTRACT.FOLDER)\wssmui-prs-af.xml'
    OPatchInstall: CAtionQueueExtractFile ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionIf
    OPatchInstall: CActionIf::initFromElement starts
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionBooleanOperator<CConditionListAnd>
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionPropertyDefined
    OPatchInstall: CConditionPropertyDefined::initFromElement starts
    OPatchInstall: Will check if the property 'SYS.ERROR.INERROR' exists
    OPatchInstall: CConditionPropertyDefined::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionEqual
    OPatchInstall: CConditionStatementComparison::initFromElement starts
    OPatchInstall: Will compare the property 'SYS.ERROR.INERROR' to '1'
    OPatchInstall: CConditionStatementComparison::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionSetProperty
    OPatchInstall: CActionSetProperty::initFromElement starts
    OPatchInstall: Will set the property 'SYS.PROC.RESULT' to value '17303'
    OPatchInstall: CActionSetProperty::initFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionIf
    OPatchInstall: CActionIf::initFromElement starts
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionEqual
    OPatchInstall: CConditionStatementComparison::initFromElement starts
    OPatchInstall: Will compare the property 'SYS.ARGS.PASSIVE' to '0'
    OPatchInstall: CConditionStatementComparison::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionPrompt
    OPatchInstall: CActionPrompt::initFromElement starts
    OPatchInstall: Will prompt with title '$(PACKAGE.NAME)
    OPatchInstall: Will prompt with text '$(PACKAGE.PROMPT.INSTALLFAILURE)
    OPatchInstall: No action list for quiet UI specified
    OPatchInstall: OK button specified, parsing actions
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionQuit
    OPatchInstall: Finished parsing actions
    OPatchInstall: CActionPrompt::initFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionQuit
    OPatchInstall: CActionIf::initFromElement ends
    OPatchInstall: CActionIf::initFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionQueueExtractFile
    OPatchInstall: CActionQueueExtractFile starts
    OPatchInstall: Will extract the file with ID 'wssmui-ro-ro.msp' to the path '$(PACKAGE.EXTRACT.FOLDER)\wssmui-ro-ro.msp'
    OPatchInstall: CAtionQueueExtractFile ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionIf
    OPatchInstall: CActionIf::initFromElement starts
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionBooleanOperator<CConditionListAnd>
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionPropertyDefined
    OPatchInstall: CConditionPropertyDefined::initFromElement starts
    OPatchInstall: Will check if the property 'SYS.ERROR.INERROR' exists
    OPatchInstall: CConditionPropertyDefined::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionEqual
    OPatchInstall: CConditionStatementComparison::initFromElement starts
    OPatchInstall: Will compare the property 'SYS.ERROR.INERROR' to '1'
    OPatchInstall: CConditionStatementComparison::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionSetProperty
    OPatchInstall: CActionSetProperty::initFromElement starts
    OPatchInstall: Will set the property 'SYS.PROC.RESULT' to value '17303'
    OPatchInstall: CActionSetProperty::initFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionIf
    OPatchInstall: CActionIf::initFromElement starts
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionEqual
    OPatchInstall: CConditionStatementComparison::initFromElement starts
    OPatchInstall: Will compare the property 'SYS.ARGS.PASSIVE' to '0'
    OPatchInstall: CConditionStatementComparison::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionPrompt
    OPatchInstall: CActionPrompt::initFromElement starts
    OPatchInstall: Will prompt with title '$(PACKAGE.NAME)
    OPatchInstall: Will prompt with text '$(PACKAGE.PROMPT.INSTALLFAILURE)
    OPatchInstall: No action list for quiet UI specified
    OPatchInstall: OK button specified, parsing actions
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionQuit
    OPatchInstall: Finished parsing actions
    OPatchInstall: CActionPrompt::initFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionQuit
    OPatchInstall: CActionIf::initFromElement ends
    OPatchInstall: CActionIf::initFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionQueueExtractFile
    OPatchInstall: CActionQueueExtractFile starts
    OPatchInstall: Will extract the file with ID 'wssmui-ro-ro.xml' to the path '$(PACKAGE.EXTRACT.FOLDER)\wssmui-ro-ro.xml'
    OPatchInstall: CAtionQueueExtractFile ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionIf
    OPatchInstall: CActionIf::initFromElement starts
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionBooleanOperator<CConditionListAnd>
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionPropertyDefined
    OPatchInstall: CConditionPropertyDefined::initFromElement starts
    OPatchInstall: Will check if the property 'SYS.ERROR.INERROR' exists
    OPatchInstall: CConditionPropertyDefined::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionEqual
    OPatchInstall: CConditionStatementComparison::initFromElement starts
    OPatchInstall: Will compare the property 'SYS.ERROR.INERROR' to '1'
    OPatchInstall: CConditionStatementComparison::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionSetProperty
    OPatchInstall: CActionSetProperty::initFromElement starts
    OPatchInstall: Will set the property 'SYS.PROC.RESULT' to value '17303'
    OPatchInstall: CActionSetProperty::initFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionIf
    OPatchInstall: CActionIf::initFromElement starts
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionEqual
    OPatchInstall: CConditionStatementComparison::initFromElement starts
    OPatchInstall: Will compare the property 'SYS.ARGS.PASSIVE' to '0'
    OPatchInstall: CConditionStatementComparison::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionPrompt
    OPatchInstall: CActionPrompt::initFromElement starts
    OPatchInstall: Will prompt with title '$(PACKAGE.NAME)
    OPatchInstall: Will prompt with text '$(PACKAGE.PROMPT.INSTALLFAILURE)
    OPatchInstall: No action list for quiet UI specified
    OPatchInstall: OK button specified, parsing actions
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionQuit
    OPatchInstall: Finished parsing actions
    OPatchInstall: CActionPrompt::initFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionQuit
    OPatchInstall: CActionIf::initFromElement ends
    OPatchInstall: CActionIf::initFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionQueueExtractFile
    OPatchInstall: CActionQueueExtractFile starts
    OPatchInstall: Will extract the file with ID 'wssmui-th-th.msp' to the path '$(PACKAGE.EXTRACT.FOLDER)\wssmui-th-th.msp'
    OPatchInstall: CAtionQueueExtractFile ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionIf
    OPatchInstall: CActionIf::initFromElement starts
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionBooleanOperator<CConditionListAnd>
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionPropertyDefined
    OPatchInstall: CConditionPropertyDefined::initFromElement starts
    OPatchInstall: Will check if the property 'SYS.ERROR.INERROR' exists
    OPatchInstall: CConditionPropertyDefined::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionEqual
    OPatchInstall: CConditionStatementComparison::initFromElement starts
    OPatchInstall: Will compare the property 'SYS.ERROR.INERROR' to '1'
    OPatchInstall: CConditionStatementComparison::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionSetProperty
    OPatchInstall: CActionSetProperty::initFromElement starts
    OPatchInstall: Will set the property 'SYS.PROC.RESULT' to value '17303'
    OPatchInstall: CActionSetProperty::initFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionIf
    OPatchInstall: CActionIf::initFromElement starts
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionEqual
    OPatchInstall: CConditionStatementComparison::initFromElement starts
    OPatchInstall: Will compare the property 'SYS.ARGS.PASSIVE' to '0'
    OPatchInstall: CConditionStatementComparison::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionPrompt
    OPatchInstall: CActionPrompt::initFromElement starts
    OPatchInstall: Will prompt with title '$(PACKAGE.NAME)
    OPatchInstall: Will prompt with text '$(PACKAGE.PROMPT.INSTALLFAILURE)
    OPatchInstall: No action list for quiet UI specified
    OPatchInstall: OK button specified, parsing actions
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionQuit
    OPatchInstall: Finished parsing actions
    OPatchInstall: CActionPrompt::initFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionQuit
    OPatchInstall: CActionIf::initFromElement ends
    OPatchInstall: CActionIf::initFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionQueueExtractFile
    OPatchInstall: CActionQueueExtractFile starts
    OPatchInstall: Will extract the file with ID 'wssmui-th-th.xml' to the path '$(PACKAGE.EXTRACT.FOLDER)\wssmui-th-th.xml'
    OPatchInstall: CAtionQueueExtractFile ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionIf
    OPatchInstall: CActionIf::initFromElement starts
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionBooleanOperator<CConditionListAnd>
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionPropertyDefined
    OPatchInstall: CConditionPropertyDefined::initFromElement starts
    OPatchInstall: Will check if the property 'SYS.ERROR.INERROR' exists
    OPatchInstall: CConditionPropertyDefined::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionEqual
    OPatchInstall: CConditionStatementComparison::initFromElement starts
    OPatchInstall: Will compare the property 'SYS.ERROR.INERROR' to '1'
    OPatchInstall: CConditionStatementComparison::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionSetProperty
    OPatchInstall: CActionSetProperty::initFromElement starts
    OPatchInstall: Will set the property 'SYS.PROC.RESULT' to value '17303'
    OPatchInstall: CActionSetProperty::initFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionIf
    OPatchInstall: CActionIf::initFromElement starts
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionEqual
    OPatchInstall: CConditionStatementComparison::initFromElement starts
    OPatchInstall: Will compare the property 'SYS.ARGS.PASSIVE' to '0'
    OPatchInstall: CConditionStatementComparison::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionPrompt
    OPatchInstall: CActionPrompt::initFromElement starts
    OPatchInstall: Will prompt with title '$(PACKAGE.NAME)
    OPatchInstall: Will prompt with text '$(PACKAGE.PROMPT.INSTALLFAILURE)
    OPatchInstall: No action list for quiet UI specified
    OPatchInstall: OK button specified, parsing actions
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionQuit
    OPatchInstall: Finished parsing actions
    OPatchInstall: CActionPrompt::initFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionQuit
    OPatchInstall: CActionIf::initFromElement ends
    OPatchInstall: CActionIf::initFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionQueueExtractFile
    OPatchInstall: CActionQueueExtractFile starts
    OPatchInstall: Will extract the file with ID 'wssmui-ca-es.msp' to the path '$(PACKAGE.EXTRACT.FOLDER)\wssmui-ca-es.msp'
    OPatchInstall: CAtionQueueExtractFile ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionIf
    OPatchInstall: CActionIf::initFromElement starts
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionBooleanOperator<CConditionListAnd>
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionPropertyDefined
    OPatchInstall: CConditionPropertyDefined::initFromElement starts
    OPatchInstall: Will check if the property 'SYS.ERROR.INERROR' exists
    OPatchInstall: CConditionPropertyDefined::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionEqual
    OPatchInstall: CConditionStatementComparison::initFromElement starts
    OPatchInstall: Will compare the property 'SYS.ERROR.INERROR' to '1'
    OPatchInstall: CConditionStatementComparison::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionSetProperty
    OPatchInstall: CActionSetProperty::initFromElement starts
    OPatchInstall: Will set the property 'SYS.PROC.RESULT' to value '17303'
    OPatchInstall: CActionSetProperty::initFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionIf
    OPatchInstall: CActionIf::initFromElement starts
    OPatchInstall: CConditionStatement::CreateStatementFromElement starts
    OPatchInstall: Creating statement CConditionEqual
    OPatchInstall: CConditionStatementComparison::initFromElement starts
    OPatchInstall: Will compare the property 'SYS.ARGS.PASSIVE' to '0'
    OPatchInstall: CConditionStatementComparison::initFromElement ends
    OPatchInstall: CConditionStatement::CreateStatementFromElement ends
    OPatchInstall: CAction::CreateActionFromElement started
    OPatchInstall: Creating CActionPrompt

  • In popup step how do I get the "text on the button" in the report rather than button index?

    (1)
    How do I configure the POPUP step in "SEQ MAIN.seq" to execute the second
    step (IS OUT PUT IS 20?) in "SEQ 1.seq" when "IS OUT PUT IS 20?" button
    hit and execute the third step (IS OUT PUT IS 30?) in "SEQ 1.seq" when "IS
    OUT PUT IS 30?" button hit.
    (2)
    In popup step how do I get the "text on the button" in the report rather than button index?
    File attached
    Attachments:
    test_stand.zip ‏32 KB

    The handle to the Step.Button1Label gets you the data, but there are several ways to get it into the actual report.
    The easiest is to use the reporttext.
    In a post expression, you can use something like
    Step.Result.ReportText = Evaluate("Step.Button" + Str(Step.Result.ButtonHit) +"Label")
    and then the default report generation will include it in the report. Otherwise, you need to get the text into the Resultlist by various means (check the user manual, or the TestStand II customisation course) and handle the report generation yourself inside of the appropriate sequence in the process model.
    Just my 2cents
    S.
    // it takes almost no time to rate an answer
    Attachments:
    IncludeButtonTextInReport2_0.seq ‏18 KB

  • How can I use SQL to search for a pattern within a field?

    Hello, Frank, Solomon, ect
    I am now faced with this particular scenario, I've got the SQL to search through a field to find text within the field, but I have to know what it is before it can look for it.
    What I have to do is this:
    Search through a field, for a pattern, and I won't know what the data is I am looking for. Can this be done in SQL?
    For instance, Here is my SQL this far, I was helped allot in order to get to this point.
    select table_name,
           column_name,
           :search_string search_string,
           result
      from (select column_name,
                   table_name,
                   'ora:view("' || table_name || '")/ROW/' || column_name || '[ora:contains(text(),"%' || :search_string || '%") > 0]' str
              from cols
             where table_name in ('TABLE1', 'TABLE2')),
           xmltable (str columns result varchar2(10) path '.')
    When you execute the above SQL, you have to pass in a value. What I really need is to alter the above SQL, to make it search for a pattern that exist's within the text of the field itself.
    Like for instance, lets say the pattern I am looking for is this" xx-xxxxx-xxxx" and it's somewhere in a field.
    I need to alter this SQL to take this pattern and search through all the schemas and tables to look for this pattern match.
    Can be done?

    When you use something dynamically within a function or procedure, roles do not apply and privileges must be granted directly.  So, you need to grant select on dba_tab_cols directly.  If you want to do pattern matching then you should use regular expressions.  The following example grants the proper privileges and uses regexp_instr to find all values containing the pattern xxx-xxxx-xxxx, where /S is used for any non-space character.  I limited the tables in order to save time and output for the test, but you can eliminate that where clause.
    SYS@orcl> CREATE USER test IDENTIFIED BY test
      2  /
    User created.
    SYS@orcl> ALTER USER test QUOTA UNLIMITED ON USERS
      2  /
    User altered.
    SYS@orcl> GRANT CREATE SESSION, CREATE TABLE TO test
      2  /
    Grant succeeded.
    SYS@orcl> GRANT SELECT ON dba_tab_cols TO test
      2  /
    Grant succeeded.
    SYS@orcl> CONNECT test/test
    Connected.
    TEST@orcl> SET LINESIZE 90
    TEST@orcl> CREATE TABLE table1
      2    (tab1_col1  VARCHAR2(60))
      3  /
    Table created.
    TEST@orcl> INSERT ALL
      2  INTO table1 (tab1_col1) VALUES ('xxx-xxxx-xxxx')
      3  INTO table1 (tab1_col1) VALUES ('matching abc-defg-hijk data')
      4  INTO table1 (tab1_col1) VALUES ('other data')
      5  SELECT * FROM DUAL
      6  /
    3 rows created.
    TEST@orcl> CREATE TABLE table2
      2    (tab2_col2  VARCHAR2(30))
      3  /
    Table created.
    TEST@orcl> INSERT ALL
      2  INTO table2 (tab2_col2) VALUES ('this BCD-EFGH-IJKL too')
      3  INTO table2 (tab2_col2) VALUES ('something else')
      4  SELECT * FROM DUAL
      5  /
    2 rows created.
    TEST@orcl> VAR search_string VARCHAR2(24)
    TEST@orcl> EXEC :search_string := '\S\S\S-\S\S\S\S-\S\S\S\S'
    PL/SQL procedure successfully completed.
    TEST@orcl> COLUMN "Searchword"     FORMAT A24
    TEST@orcl> COLUMN "Table"     FORMAT A6
    TEST@orcl> COLUMN "Column/Value" FORMAT A50
    TEST@orcl> SELECT DISTINCT SUBSTR (:search_string, 1, 24) "Searchword",
      2               SUBSTR (table_name, 1, 14) "Table",
      3               SUBSTR (t.column_value.getstringval (), 1, 50) "Column/Value"
      4  FROM   dba_tab_cols,
      5          TABLE
      6            (XMLSEQUENCE
      7           (DBMS_XMLGEN.GETXMLTYPE
      8              ( 'SELECT ' || column_name ||
      9               ' FROM ' || table_name ||
    10               ' WHERE REGEXP_INSTR
    11                     (UPPER (' || column_name || '),''' ||
    12                  UPPER (:search_string) || ''') > 0'
    13              ).extract ('ROWSET/ROW/*'))) t
    14  WHERE  table_name IN ('TABLE1', 'TABLE2')
    15  ORDER  BY "Table"
    16  /
    Searchword               Table  Column/Value
    \S\S\S-\S\S\S\S-\S\S\S\S TABLE1 <TAB1_COL1>matching abc-defg-hijk data</TAB1_COL1>
    \S\S\S-\S\S\S\S-\S\S\S\S TABLE1 <TAB1_COL1>xxx-xxxx-xxxx</TAB1_COL1>
    \S\S\S-\S\S\S\S-\S\S\S\S TABLE2 <TAB2_COL2>this BCD-EFGH-IJKL too</TAB2_COL2>
    3 rows selected.

  • How to extract data from .xltm file in a (dataset, datatable or a list) using wpf c#

    Hi all,
    As we can get data from .xls, .xlsx file in a dataset. Now i want to read all the entire data from .xltm file.
    I also want to get all sheets name from .xltm file. I am using .Net framework 4.5, Visual studio 2012.
    Please help me. I am unable to extract it. It is urgent.

    Hello Kalpna Bindal,
    I just investigate this issue and use the following way but it does work:
    private void Button_Click(object sender, RoutedEventArgs e)
    // initialize connection
    OleDbConnection con = new OleDbConnection();
    con.ConnectionString =
    "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\\Fruits1.xltm;Extended Properties=\"Excel 12.0 Xml;HDR=YES;\"";
    //pass query to Insert values into Excel
    OleDbCommand cmd = new OleDbCommand();
    cmd.CommandText = "insert into [Sheet1$] values('')";
    cmd.Connection = con;
    // EXECUTE QUERY
    con.Open();
    cmd.ExecuteNonQuery();
    con.Close();
    I then did a research about this issue and find the following case:
    http://stackoverflow.com/questions/22225017/reading-excel-xltm-files-programmatically
    To test whether it is possible I use the following code in WPF:
    Microsoft.Office.Interop.Excel.Application xltmApp = new Microsoft.Office.Interop.Excel.Application();
    xltmApp.Visible = false;
    xltmApp.ScreenUpdating = false;
    Workbook xltmBook = xltmApp.Workbooks.Open(@"D:\Fruits1.xltm");
    Worksheet xlworksheet = xltmBook.Worksheets.get_Item(1);
    for (int i = 1; i <= 1; i++)
    for(int j=1;j<=1;j++)
    string str = (string)(xlworksheet.UsedRange.Cells[i, j] as Microsoft.Office.Interop.Excel.Range).Value;
    MessageBox.Show(str);
    The result is that I can read this .xltm file and read the firstline without problem.
    I would think you can also use this way to work with your .xltm file and output it to your application.
    For more details about how to fill to your WPF, common wpf and excel thread will be helpful:
    http://www.codearsenal.net/2012/06/c-sharp-read-excel-and-show-in-wpf.html#.URPyfPJJocU
    http://www.dotnetcurry.com/showarticle.aspx?ID=988
    http://mozouna.com/Blog/2013/03/28/wpf-reading-and-writing-to-excel-file-with-c/
    By the way, for WPF case please post on WPF forum instead of C# forum.Best regards,
    Barry
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • How can I display the last items of a region from other Oracle Portal page?

    I want to display de last five items (f.e.) included in a region (with attributes created) from other page. I've tried using custom search, but it also shows the attribute names, and I want show the attribute values (I don´t know how can I format these attributes).
    Thanks a lot.

    create a stored procedure (f.e. in schema myschema create a stored proc named renderAsHTML)
    code for the procedure :
    PROCEDURE renderAsHTML(p_itemId varchar2,p_pageId varchar2,p_siteId varchar2) IS
        l_displayName  portal.wwsbr_all_items.display_name%type;
        l_name         portal.wwsbr_all_items.name%type;
        l_publishDate  varchar2(10);
        l_url varchar2(250);
    BEGIN
         -- Looking for item datas
         select display_name, name,   to_char(publish_date,'dd/mm/yyyy')
         into l_displayName,l_name, l_publishDate
         from portal.wwsbr_all_items
         where id =p_itemId and language=portal.wwctx_api.get_nls_language;
         -- getting the URL og the item
         l_url := portal.wwpob_page_util.get_page_url(p_pageId, p_siteId);
         -- HTML rendering
    htp.p('<.a href="'||l_url ||'/'|| l_name ||'">' ||  l_displayName ||'</.a><.br/>');
    htp.p('Published on ' || l_publishDate ');
    EXCEPTION
        WHEN others THEN
               htp.p('<.div>Somme error occured , code is ' || SQLCODE || '.</.div>');
    END renderAsHTML;
    please notice that I've added a dot in HTML tags to avoid this forum to interpret them
    note : make sure that you granted "execute" for the public user on teh procedure you've just created.
    go to item properties (navigator>shared objects>item types>modify the one you want
    go to tab3 (procedures)
    set the following options :
    type : PL/SQL
    call proc : myschema.renderAsHTML
    link text : render as HTML
    icon : keep blank
    select the "display proc results with the item" option
    pass the following parameters :
    attribute1 : item ID as p_itemId
    attribute1 : page ID as p_pageId
    attribute1 : pagegroup as p_siteId
    Now, in your custom search portlet, go to results rendering, remove all attributes and add the "associated function" attribute.
    Now, all the HTML generated by the stored proc will be rendered instead of the item.

  • Error #2007

    These are the code for the php and flash page:
    <?
    // Create local variables from the Flash ActionScript posted variables
    $senderName   = $_POST['userName'];
    $senderEmail     = $_POST['userEmail'];
    $senderMessage = $_POST['userMsg'];
    // Strip slashes on the Local variables for security
    $senderName   = stripslashes($senderName);
    $senderEmail     = stripslashes($senderEmail);
    $senderMessage   = stripslashes($senderMessage);
    // IMPORTANT - Change these lines to be appropriate for your needs - IMPORTANT
    $to = "[email protected]";            
    $from = "$senderEmail";
    $subject = "Contact from gharweg.org.uk";
    // Modify the Body of the message however you like
    $message = "Message from Gharweg.org.uk:
    Their Name:   $senderName
    Their Email:   $senderEmail
    Their Message is below:
    $senderMessage";
    // Build $headers Variable
    $headers = "From: $from\r\n";
    $headers .= "Content-type: text\r\n";
    $to = "$to";
        // Send the email
        mail($to, $subject, $message, $headers);
        // Assemble the message that goes back to Flash
        // The flash ActionScript is looking for a return variable of "return_msg"
        $my_msg = "Thanks $senderName, your message has been sent.";
        // Print the data back to flash who is patiently waiting for it in the onCompleteHandler
        print "return_msg=$my_msg";
    // Exit script   
    exit();
    ?>
    // Set text formatting colors for errors, waiting..., and success mechanisms
    var errorsFormat:TextFormat = new TextFormat();
    errorsFormat.color = 0xFF0000;
    var waitingFormat:TextFormat = new TextFormat();
    waitingFormat.color = 0x001111;
    var successFormat:TextFormat = new TextFormat();
    successFormat.color = 0x3366FF;
    // hide the little processing movieclip
    processing_mc.visible = false;
    // Assign a variable name for our URLVariables object
    var variables:URLVariables = new URLVariables();
    //  Build the varSend variable
    var varSend:URLRequest = new URLRequest("new/contact_parse.php");
    varSend.method = URLRequestMethod.POST;
    varSend.data = variables;
    // Build the varLoader variable
    var varLoader:URLLoader = new URLLoader;
    varLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
    varLoader.addEventListener(Event.COMPLETE, completeHandler);
    // Handler for PHP script completion and return
    function completeHandler(event:Event):void{
        // remove processing movieclip
        processing_mc.visible = false;
        // Clear the form fields
        name_txt.text = ".";
        email_txt.text = ".";
        msg_txt.text = "-";
        // Load the response from the PHP file
        status_txt.text = event.target.data.return_msg;
        status_txt.setTextFormat(successFormat);
    // Add an event listener for the submit button and what function to run
    submit_btn.addEventListener(MouseEvent.CLICK, ValidateAndSend);
    // Validate form fields and send the variables when submit button is clicked
    function ValidateAndSend(event:MouseEvent):void{
        //validate form fields
        if(!name_txt.length) {   
            status_txt.text = "Please enter your name.";   
            status_txt.setTextFormat(errorsFormat);
        } else if(!email_txt.length) {
            status_txt.text = "Please enter an email address";
            status_txt.setTextFormat(errorsFormat);
        } else if(!validateEmail(email_txt.text)) {
            status_txt.text = "Please enter a VALID email address";
            status_txt.setTextFormat(errorsFormat);
        } else if(!msg_txt.length) {
            status_txt.text = "Please enter a message.";
            status_txt.setTextFormat(errorsFormat);
        } else {
            // All is good so send the message to the parse file
            // Show the little "processing_mc" movieclip
            processing_mc.visible = true;
            // Ready the variables for sending
              variables.userName = name_txt.text;
               variables.userEmail = email_txt.text;
               variables.userMsg = msg_txt.text;  
            // Send the data to the php file
               varLoader.load(varSend);
            // Put a temporary message in the response field while the PHP file sends back
            // If the code does not connect to the PHP file this message will remain visible to user
            status_txt.text = "Waiting for server connection...";
            status_txt.setTextFormat(waitingFormat);
        } // close else after form validation
    } // Close ValidateAndSend function //////////////////////////////////////////////////////////////
    // Validate email function
    function validateEmail(str:String):Boolean {
        var pattern:RegExp = /(\w|[_.\-])+@((\w|-)+\.)+\w{2,4}+/;
        var result:Object = pattern.exec(str);
        if(result == null) {
            return false;
        return true;

    When you get error messages and post about them, you should include the entire error message in your posting.  In my case I have no idea what a 2007 error involves.  Also, to get the most info into your error messages you should enable the option to Permit Debugging found in the Flash section of the file's Publish Settings.  Selecting that option can often add more details into the error message.

  • Problem with conversion of strings like THISStr - this_str capitalization

    Problem with conversion of strings like. THISStr -> this_str
    Can anybody pass on the reverse code. I have one, but its faulty.
    public static String convertFromPolycaps(String str) {
              Pattern pattern = Pattern.compile("\\p{Upper}+");
              Matcher matcher = pattern.matcher(str);
              StringBuffer result = new StringBuffer();
              // We do manual replacement so we can change case
              boolean notFirst = false;
              int grpP = 0, grpA = 0;
              String last = "";
              String now = "";
              while (matcher.find()) {
                   grpA = matcher.end();
                   if (notFirst) {
                        now = matcher.group().substring(0).toLowerCase();
                        if (grpA - grpP > 1) {
                             matcher.appendReplacement(result, now);
                             result =
                                  new StringBuffer(
                                       result.substring(0, (result.length() - 1))
                                            + "_"
                                            + result.substring(result.length() - 1));
                        } else {
                             matcher.appendReplacement(result, "_" + now);
                   } else {
                        matcher.appendReplacement(result, matcher.group().substring(0).toLowerCase());
                        notFirst = true;
                   grpP = matcher.end();
                   ////index++;
                   last = now;
              matcher.appendTail(result);
              System.err.println(str + " : " + result.toString());
              return result.toString();
         }succesfully converts :
    AccountNmnc : account_nmnc
    CustNameJ : cust_name_j
    Resume : resume
    BeneBrCode : bene_br_code
    ApprovedPerson : approved_person
    but fails for:
    GLCode : glcode
    VISHALErrCode : vishalerr_code
    GHASUNNAcNo : ghasunnac_no

    Can anybody pass on the reverse code. I have one, but
    its faulty.Post it, I'm sure we can fix it...

  • No reply from JavaFX on WinApi User32.sendMessage HWND_BROADCAST

    Dear all,
    Problem
    what? 3rd party software communicates using the sendMessage function User32.dll with flag HWND_BROADCAST.
    when? as soon as they are used in combination with a JavaFX application the 3rd party applications crash.
    Our own investigation
    We fear that JavaFX fails(?) to respond (correctly?) to this WinApi call and hence the sendMessage broadcast is failing.
    Here is a stacktrace of such a 3rd party application (made with OllyDbg):
    CPU Stack
    Address   Value      ASCII Comments
    0018F8CC  /0000FFFF  ÿÿ    ; |hWnd = 0000FFFF
    0018F8D0  |0000C3AA  ªÃ    ; |Msg = 0C3AA
    0018F8D4  |000003E8  è    ; |wParam = 3E8
    0018F8D8  |0000C098  ˜À    ; \lParam = 0C098
    0018F8DC  \004859B0  °YH   ; RETURN from thirdparty.004859D8 to thirdparty.004859B0
    0018F8E0  /0018F900   ù   ; Pointer to next SEH record
    0018F8E4  |004859C6  ÆYH   ; SE handler
    0018F8E8  |0018F8F8  øø
    0018F8EC  |023BA998  ˜©;
    0018F8F0  |068BAC44  D¬‹  ; ASCII "C:\otherthirdparty"
    0018F8F4  |0000C098  ˜À
    0018F8F8  |0018F918  ù
    0018F8FC  \007461BA  ºat   ; RETURN from thirdparty.00485964 to thirdparty.007461BAAs you can see the hWnd parameter has value 0000FFFF or -1 or HWND_BROADCAST.
    CPU Disasm
    Address   Hex dump          Command                                  Comments
    004859D8  /$  52            PUSH EDX                                 ; /lParam => ARG.EDX
    004859D9  |.  0FB7C0        MOVZX EAX,AX                             ; |
    004859DC  |.  50            PUSH EAX                                 ; |wParam
    004859DD  |.  0FB705 B06F7A MOVZX EAX,WORD PTR DS:[7A6FB0]           ; |
    004859E4  |.  50            PUSH EAX                                 ; |Msg
    004859E5  |.  68 FFFF0000   PUSH 0FFFF                               ; |hWnd = 0000FFFF
    004859EA  |.  E8 4531F8FF   CALL <JMP.&user32.SendMessageA>          ; \USER32.SendMessageAThis is typically bad practise from ages ago, when interprocess communication was safe, back in the 16bit days.
    The third party applications at our clients appear to only crash systematically when running JavaFX applications next to them.
    JNA + Swing Code which should fix it
    public class JnaWinEvents extends JFrame {
         private static final long serialVersionUID = -3985408320174213410L;
         public LONG_PTR prevWndProc; // so it won't get GC'ed
         public WndProc wndProcCallbackListener = null; // so it won't get GC'ed
         public JnaWinEvents() {
              this.add(new JLabel("Hello StackExchange!"));
              this.pack();
              this.setVisible(true);
              setupEventsListener();
         public interface MyUser32 extends User32 {
              public static final MyUser32 MYINSTANCE = (MyUser32) Native.loadLibrary("user32", MyUser32.class, W32APIOptions.UNICODE_OPTIONS);
               * Changes an attribute of the specified window
               * @param hWnd
               *            A handle to the window
               * @param nIndex
               *            The zero-based offset to the value to be set.
               * @param callback
               *            The callback function for the value to be set.
              public LONG_PTR SetWindowLong(HWND hWnd, int nIndex, WndProc callback);
         public class WndProc implements StdCallCallback {
              public LRESULT callback(HWND hWnd, int uMsg, WPARAM wParam, LPARAM lParam) {
                   System.out.println("callback " + hWnd + "\t" + uMsg + "\t" + wParam.toString() + "\t" + lParam.toString());
                   return new LRESULT(0l);
         private void setupEventsListener() {
              HWND hWnd = new HWND();
              hWnd.setPointer(Native.getWindowPointer(this));
              this.wndProcCallbackListener = new WndProc();
              // Set the WndProc function to use our callback listener instead of the
              // window's one.
              LONG_PTR result = MyUser32.MYINSTANCE.SetWindowLong(hWnd, com.sun.jna.platform.win32.WinUser.GWL_WNDPROC, wndProcCallbackListener);
              System.out.println("setting my window proc, result = " + result);
         public static void main(String[] args) {
              SwingUtilities.invokeLater(new Runnable() {
                   @Override
                   public void run() {
                        new JnaWinEvents();
    }The code above should override the WndProc method of the view and hence fix the issue, obviously when using JavaFX instead of Swing.
    The code above is able to print the sendMessage requests - please not that only HWND_BROADCAST will make the application fail.
    IMPORTANT Swing does NOT crash like JavaFX - do NOT expect the code above to crash.
    Question?
    Is there any way to get the pointer from the JavaFX Window as we are doing now with the JFrame ?
    References
    http://msdn.microsoft.com/en-us/library/windows/desktop/ms644950(v=vs.85).aspx
    http://blogs.msdn.com/b/oldnewthing/archive/2006/06/13/629451.aspx
    http://msdn.microsoft.com/en-us/library/windows/desktop/dd744765(v=vs.85).aspx
    Tools
    We have simulated the behaviour by coding a simple application in C# which calls the sendMessage with HWND_BROADCAST
    When needed we can provide the source code - I did not find a way to attach files to this forum.

    >
    First, correct, we understand that going really deep in to the internals of JavaFX may cause issues in the long run. But unfortunately, because there is no current alternative, we are forced doing so.::PostMessage(HWND_BROADCAST, ...) looks like a reasonable choice. Couldn't you use it?
    Yes I read about the Glass Framework but was not able to find a way to override this WindowProc, most likely as you said due to visibility issues. Maybe you can guide me a bit further into actually being able to get to this Glass class, if it were only to extend my logs, it would be of great intellectual value to me.Glass, as well as Prism, is currently completely hidden for FX applications. Although you can access some of the classes from these libs, it will likely be impossible, once we have modules (e.g. Jigsaw) in place.
    We also know that JavaFX is far from the only application which is crashing on sendMessage(HWND_BROADCAST) calls. We did further testing and it appears even Google Chrome tends to crash, eg. when opening facebook or gmail the application sending HWND_BROADCAST will hang aswell. This actually surprised me, it Google Chrome only tends to crash the application when having certain websites opened. The hang doesn’t occur when having eg. www.google.com open.My own experiments show that we don't crash, but rather make the application that sens broadcast messages hang.
    •     Is the Glass team investigating this issue further in order to find a viable solution?See my comments to RT-23660.
    •     Can you provide me more insight to how the Glass Framework works
    o     More specified logging
    o     Tricks to manipulate the Framework
    o     Does and donts concerning finding a workaround combined with the Glass Framework
    Important extra information: Swing does not cause the sendMessage call to hang. As written above, AWT/Swing/Java2D vs Glass/Prism/JavaFX is like comparing apples to oranges :)
    As I wrote in RT-23660, the problem seems to be in the rendering code. I'll try to contact Java2D team to find out, why they don't have such a problem, but JavaFX does. Anyway, I wouldn't expect them wanting to fix it in the nearest future, unless the fix is absolutely safe, simple and known.
    Thanks,
    Artem

  • Bank Account Project

    Help!!! There are alot of things that we need to do in order to finish our project for tomorrow. We didn't start last minute so dont criticize us. We are not java programmers and we try to comprehend as much as we can but we are stuck. If anyone can help us on our project, it would be greatly appreciated.
    Here is our code, comments are on the top of the code.
    Right now the code works but we need to get the main menu correct. We need to stop looping so that the next menu can come up if selected from the previous menu.
    * Bank_Main_Menu.java
    * Created on April 8, 2004, 8:58 PM
    /* The save routine (a hack)
    * Bank public String toFileString() {
    * return getName() + "|" +
    * getAddress1() + "|" +
    * getAddress2() + "|" +
    /* Menu Structure
    * MAIN MENU
    * Exit (Leave Program)
    * Load from File
    * Load from Database**
    * Save to File // Do not SAVE if nothing has been loaded!!!
    * Save To Database
    * (Go to the Bank Menu) // Make sure you create an EMPTY BANK OBJECT!
    * Bank Menu // All menus should be in a while (true) and exit on 0!!
    * 0) Exit (to Main Menu)
    * Edit Bank Info // bank.edit();
    * View Bank Info // bank.view();
    * Edit Account
    * View Account
    * Delete Account
    * Create Account
    * ACCOUNTS MENUS (Sort of shared except Create!)
    * 0) Exit
    * X) Display Account for EACH item in the bank.vAccounts Vector
    * Given user input idx > 0
    * - Edit : ( (GenericAccount) bank.vAccounts.elementAt( idx-1 ) ).edit();
    * - View : ( (GenericAccount) bank.vAccounts.elementAt( idx-1 ) ).view();
    * - Delete : bank.deleteAccount( idx-1 );
    * Adding A Checking Account:
    * bank.addAccount( new CheckingAccount().edit() ); // edit() must return this;
    * Adding A Saving Account:
    * bank.addAccount( new SavingsAccount().edit() ); // edit() must return this;
    * public void edit() // For the Bank
    * { System.out.println("Thank you for editing the bank info "); }
    import java.sql.*;
    import java.util.Vector;
    import java.io.*;
    * @author cbolanos
    public class Bank_Main_Menu {
    final static int MAX_COL_WIDTH = 40;
    final static String NULL_COL_VALUE = " ";
    final static String driverClass = "sun.jdbc.odbc.JdbcOdbcDriver";
    final static String connectionURL = // Uncommment one below to work for you
    "jdbc:odbc:MS Access Database;DBQ=C:\\Program Files\\Microsoft Office\\Office11\\Samples\\Northwind.mdb";
    //"jdbc:odbc:MS Access Database;DBQ=C:\\Program Files\\Microsoft Office\\Office\\Samples\\Northwind.mdb";
    //"jdbc:odbc:MS Access Database;DBQ=D:\\NorthWind.MDB";
    //"jdbc:odbc:Northwind"; // Comment this out if you use another
    final static String userID = "sa";
    final static String userPassword = "";
    private Connection con = null; // We assume 1 connection/object
    public Bank_Main_Menu() {
    public void openConnection() throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException {
    System.out.print(" Loading JDBC Driver -> " + driverClass + "\n");
    Class.forName(driverClass).newInstance();
    System.out.print(" Connecting to -> " + connectionURL + "\n");
    this.con = DriverManager.getConnection(connectionURL, userID, userPassword);
    System.out.print(" Connected as -> " + userID + "\n\n");
    public void closeConnection() {
    try {
    System.out.print(" Closing Connection...\n");
    con.close();
    catch (SQLException e) {
    e.printStackTrace();
    public ResultSet executeQuery(String sSQL) throws SQLException {
    ResultSet rs = null;
    try {
    Statement statement = con.createStatement();
    rs = statement.executeQuery(sSQL);
    catch (SQLException e){
    System.out.println("SQLException was thrown in executeQuery: " + e.getMessage());
    throw e;
    return rs;
    public static String padString(String str, int size){
    if (str == null) return NULL_COL_VALUE; // Null strings
    StringBuffer result = new StringBuffer(str);
    while (result.length() < size)
    result.append(" ");
    if (result.length() > size)
    result.substring(0,size);
    return result.toString();
    public void displayRows(ResultSet rs, Vector vSizes) throws SQLException {
    try {
    int cnt = rs.getMetaData().getColumnCount();
    while(rs.next()) {
    for (int x=1; x<=cnt; x++){
    int z = ((Integer) vSizes.elementAt(x-1)).intValue();
    System.out.print(padString( rs.getString(x), z) );
    System.out.println();
    catch (SQLException e){
    System.out.println("SQLException was thrown in displayRows: " + e.getMessage());
    throw e;
    public void displayHeaders(ResultSet rs, Vector vSizes) throws SQLException {
    try {
    ResultSetMetaData md = rs.getMetaData();
    for (int x=1; x<=md.getColumnCount(); x++){
    int z = Math.max(MAX_COL_WIDTH, md.getColumnDisplaySize(x));
    vSizes.add( new Integer( z ));
    System.out.print( padString(md.getColumnLabel(x), z) );
    System.out.println();
    catch (SQLException e) {
    System.out.println("SQLException was thrown in displayHeaders: " + e.getMessage());
    throw e;
    System.out.println("");
    public Vector resultToVector(ResultSet rs, Vector vNames) throws SQLException {
    try {
    String name;
    while(rs.next()) {
    name = rs.getString(1) + " " + rs.getString(2);
    vNames.add(name);
    catch (SQLException e){
    System.out.println("SQLException was thrown in displayRows: " + e.getMessage());
    throw e;
    return vNames;
    public String getFileName(ResultSet rs) throws SQLException {
    try {
    String columnLabels = "";
    ResultSetMetaData md = rs.getMetaData();
    for (int x=1; x<=md.getColumnCount(); x++){
    columnLabels = columnLabels + md.getColumnLabel(x);
    if(x==md.getColumnCount()){
    //last column should not add '_'
    else{
    columnLabels = columnLabels + "_";
    return columnLabels;
    catch (SQLException e){
    System.out.println("SQLException was thrown in displayHeaders: " + e.getMessage());
    throw e;
    /* public String getFileHeader(ResultSet rs) throws SQLException {
    try {
    String columnLabelspayInterest = "";
    ResultSetMetaData md = rs.getMetaData();
    for (int x=1; x<=md.getColumnCount(); x++){
    columnLabels = columnLabels + md.getColumnLabel(x) + "[" + md.getColumnDisplaySize(x) + "]";
    if(x==md.getColumnCount()){
    //last column should not add '_'
    else{
    columnLabels = columnLabels + "_";
    return columnLabels;
    catch (SQLException e){
    System.out.println("SQLException was thrown in displayHeaders: " + e.getMessage());
    throw e;
    private static void writeFile(String sFileName, Vector vData){
    try{
    String str;
    String FilePath = "c:/LEC-12/" + sFileName;
    PrintWriter pw = new PrintWriter(new FileWriter(FilePath)); //reading file into the buffer
    for(int i = 0; i < vData.size(); i++){
    str = (String)vData.elementAt(i).toString();
    pw.println(str); //print name in good.txt, bad.txt, average.txt
    //System.out.println(str);
    pw.close();
    catch(Exception e){
    public void WritingToFile() throws IOException {
    public void writeToFile(Vector vData){
    try{
    String str;
    String FilePath="c:\\java\\save.txt";
    PrintWriter pw = new PrintWriter(new FileWriter(FilePath));
    for (int i=0; i < vData.size(); i++) {
    str=(String)vData.elementAt(i).toString();
    pw.println(str);
    pw.close();
    catch(Exception e)
    public static Vector stringToVector(String sLine, String sDelim) {
    Vector v = new Vector();
    String s = new String(sLine);
    int x = sLine.indexOf(sDelim);
    while (x >= 0) {
    String sPiece = s.substring(0, x);
    v.add(sPiece);
    s = s.substring(x + 1).trim();
    x = s.indexOf(sDelim);
    v.add(s);
    return v;
    public static void writeVectorToFile(Vector v, String sFileName)
    throws FileNotFoundException, IOException {
    BufferedWriter fileOut = new BufferedWriter(new FileWriter(sFileName));
    for (int x = 0; x < v.size(); x++) {
    fileOut.write(v.elementAt(x).toString());
    if (x != v.size()-1) fileOut.write("\n");
    fileOut.close();
    public static void writeVectorToFile(Vector v, String sFileName)
    throws FileNotFoundException, IOException {
    BufferedWriter fileOut = new BufferedWriter(new FileWriter(sFileName));
    for (int x = 0; x < v.size(); x++) {
    fileOut.write(v.elementAt(x).toString());
    if (x != v.size()-1) fileOut.write("\n");
    fileOut.close();
    /** Creates a new instance of Bank_Main_Menu */
    BankSystem(DataManager dataManager) throws java.io.IOException
    this.dataManager=dataManager;
    reader=new BufferedReader(new InputStreamReader(System.in));
    writer=new BufferedWriter(new OutputStreamWriter(System.out));
    //////////////////////////////////////MAIN MENU/////////////////////////////////
    public void LoadfromFile() {
    String fileName = "c:/java/names.txt" ;
    String line;
    try {
    BufferedReader in = new BufferedReader(
    new FileReader( fileName ) );
    line = in.readLine();
    while ( line != null ) // continue until end of file
    System.out.println( line );
    line = in.readLine();
    in.close();
    catch ( IOException iox ) {
    System.out.println("Problem reading " + fileName );
    //private BufferedReader reader;
    // System.out.println(" Loading from file");
    //System.out.println(" ");
    public void LoadfromDatabase() {
    Vector vSizes = new Vector();
    Bank_Main_Menu mainPrg = new Bank_Main_Menu();
    try {
    mainPrg.openConnection();
    try {
    ResultSet rs = mainPrg.executeQuery("SELECT Title,LastName,FirstName,City,Region FROM Employees order by Title,lastname");
    mainPrg.displayHeaders(rs, vSizes);
    mainPrg.displayRows(rs, vSizes);
    catch (Exception e) { e.printStackTrace(); }
    finally {     mainPrg.closeConnection(); }
    catch (ClassNotFoundException e) { e.printStackTrace(); }
    catch (InstantiationException e) { e.printStackTrace(); }
    catch (IllegalAccessException e) { e.printStackTrace(); }
    catch (SQLException e) { e.printStackTrace(); }
    catch (Exception e) {
    System.out.println("Exception was thrown in main(): " + e.getMessage());
    e.printStackTrace();
    //private BufferedReader reader;
    System.out.println(" Loading from Database");
    System.out.println(" ");
    public void WriteToFile(){
    Vector vSizes=new Vector();
    Vector vNames=new Vector();
    vNames.add("Sheila");
    WritingToFile wf = new WritingToFile();
    String FileName;
    wf.writeToFile(vNames);
    System.out.println(" Saving to file");
    //System.out.println(" ");
    public void SavetoDatabase(){
    System.out.println(" Saving to Database");
    System.out.println(" ");
    //////////////////////////////////////BANK MENU////////////////////////////////
    public void GotoBankMenu(){
    System.out.println("Welcome to the bank Menu");
    System.out.println(" Bank Menu ");
    System.out.println(" 0. Exit");
    System.out.println(" 1. Edit Bank Information");
    System.out.println(" 2. View Bank Information");
    System.out.println(" 3. Edit Account");
    System.out.println(" 4. View Account ");
    System.out.println(" 5. Delete Account ");
    System.out.println(" 5. Create Account ");
    public void bankDetails() {
    public void listAccounts(){
    System.out.println("These are the accounts");
    public void accountOptions(){
    System.out.println("These are the account options");
    public void add_Account(){
    System.out.println("This is how you add an account");
    /* public void deleteAcc() throws IOException {
    int i = selectAnAccount();
    if (i >= 0) {
    vBankAccounts.remove(i);//vBankAccounts is the vector object and remove() is a method
    System.out.println("Account deleted.");
    public void payInterest() throws IOException {
    int count = 0;
    for (int x = 0; x < vBankAccounts.size(); x++) {
    if (vBankAccounts.get(x) instanceof SavingsAccount) {
    ((SavingsAccount)vBankAccounts.get(x)).addInterestTransaction();
    count++;
    // public void addAcc(GenericAccount a) {
    // vBankAccounts.add(a);
    public void payInterest(){
    System.out.println("This is how you pay interest");
    public void print_statementofAccount(){
    System.out.println("This is how you print a statement");
    public void loadAccountsFromFile(){
    System.out.println("This is how you load an account from file");
    public void loadAccountsfromDatabase(){
    System.out.println("This is how you load an account from a database");
    public void StoreAccounts(){
    System.out.println("This is how you store an account");
    public static int menu() {
    System.out.println("Welcome to the main menu. Please choose from the following options:");
    System.out.println(" MAIN MENU ");
    System.out.println(" 0. Exit");
    System.out.println(" 1. Load from File");
    System.out.println(" 2. Load from Database");
    System.out.println(" 3. Save to file");
    System.out.println(" 4. Save to Database");
    System.out.println(" 5. Go to Bank the Bank Menu");//need to create an instance of bank class that contains the elements of bank menu.
    System.out.println(" 6. Print Statement of Account");
    System.out.println(" 7. Pay Interest");
    System.out.println(" 8. Load Accounts from file");
    System.out.println(" 9. Load Accounts from Database");
    System.out.println("10. Store Accounts");
    System.out.println(" MAIN MENU ");
    System.out.println(" 0. Exit");
    System.out.println(" 1. Edit Bank Information");
    System.out.println(" 2. List Accounts");
    System.out.println(" 3. Account Options");
    System.out.println(" 4. Add an Account ");
    System.out.println(" 5. Delete Account ");
    System.out.println(" 6. Print Statement of Account");
    System.out.println(" 7. Pay Interest");
    System.out.println(" 8. Load Accounts from file");
    System.out.println(" 9. Load Accounts from Database");
    System.out.println("10. Store Accounts");
    MAIN MENU
    * Exit (Leave Program)
    * Load from File
    * Load from Database**
    * Save to File // Do not SAVE if nothing has been loaded!!!
    * Save To Database
    * (Go to the Bank Menu)
    int OptionChosen;
    BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
    try {
    OptionChosen = Integer.parseInt(in.readLine());
    catch (Exception e) {
    OptionChosen = 0;
    return OptionChosen;
    * @param args the command line arguments
    public static void main(String[] args) {
    Bank_Main_Menu bBank = new Bank_Main_Menu(); //Creating an object of the class
    while ( true ) {
    int userInput = menu();
    if (userInput==0) {
    System.out.println(" Good Bye ");
    return;
    System.out.println("You chose " + userInput);
    switch(userInput){
    case 1:
    bBank.LoadfromFile();//Calling a method
    break;
    case 2:
    bBank.LoadfromDatabase();//Calling a method
    break;
    case 3:
    bBank.WriteToFile();//Calling a method
    break;
    case 4:
    bBank.SavetoDatabase();//Calling a method
    break;
    case 5:
    bBank.GotoBankMenu();//Calling a method
    break;
    case 6:
    bBank.print_statementofAccount();//Calling a method
    break;
    case 7:
    bBank.payInterest();//Calling a method
    break;
    case 8:
    bBank.loadAccountsFromFile();//Calling a method
    break;
    case 9:
    bBank.loadAccountsfromDatabase();//Calling a method
    break;
    case 10:
    bBank.StoreAccounts();//Calling a method
    break;
    while ( true ) {
    int userInput = menu();
    if (userInput==0) {
    System.out.println(" Good Bye ");
    return;
    System.out.println("You chose " + userInput);
    switch(userInput){
    case 1:
    bBank.bankDetails();//Calling a method
    break;
    case 2:
    bBank.listAccounts();//Calling a method
    break;
    case 3:
    bBank.accountOptions();//Calling a method
    break;
    case 4:
    bBank.add_Account();//Calling a method
    break;
    case 5:
    bBank.delete_Account();//Calling a method
    break;
    case 6:
    bBank.print_statementofAccount();//Calling a method
    break;
    case 7:
    bBank.payInterest();//Calling a method
    break;
    case 8:
    bBank.loadAccountsFromFile();//Calling a method
    break;
    case 9:
    bBank.loadAccountsfromDatabase();//Calling a method
    break;
    case 10:
    bBank.StoreAccounts();//Calling a method
    break;

    change this:
    while ( true ) {
    int userInput = menu();
    to
    int userInput = menu();
    while ( userInput != 0 ) {
    if (userInput != 5)
    userInput = menu();
    don't have time to explain too well....

  • Mapping text in IDOC to IDOC scenario

    Hi,
    I have to map the source tdline field of IDOC segment E1EDPT1 to target IDOC Tdline field. Currently few tdline brings more than 31 chars but target should have only 31 and if it's more than 31 should roll over to next line.
    I can able to truncate 31 chars using substring and if coneditions, but chars from 31 to rest couldnt be mapped, I tried a duplicate subtree in target and didnt work, used global variables to store the remainins but still didnt work.
    Any suggestion would be greatly appreciated.
    Thanks,
    Menaga

    Menaga,
    Create a udf with name addnode and Queue as  cache. Have one parameter as input:
    Imports:  java.;*
    Add this code:
    for (int i=0; i<input.length; i++)
    String str=input<i>;
    while(str.length()>31)
    result.addValue(str.substring(0,31));
    str=str.substring(31,str.length());
    result.addValue(str);
    Now map like this:
    For e1edkt2:
    tdline(change context to idoc) --> addnode udf --> e1edkt2
    For tdline:
    tdline --> removecontext --> addnode --> splitbyvalue --> tdline
    Regards,
    ---Satish

Maybe you are looking for