Understanding the get-help syntax

Hi,
I was studying on how to learn how to find and get powershell cmdlets.   However, when following the advice from an article:
http://www.windowsnetworking.com/articles-tutorials/windows-server-2012/powershell-essentials-part3.html
=====================================================
I will be the first to admit that the information that is displayed as a result of using the Get-Help cmdlet can be a
little bit overwhelming. However, things really aren’t as difficult as they might at first appear. The trick is to know
how to read the syntax information. To show you what I mean, let’s take a look at the last block of text in the
screen capture above.
The text starts out with Get-PhysicalDisk. Obviously this is the cmdlet that we are using. From there, you will notice
the following text:
[-Usage <usage[]>
Anything that appears in brackets [] references an optional parameter. In this case, we have a bracket [ followed
by –Usage. This indicates that –Usage is an optional parameter.
The next thing that we see after –Usage is <usage[]> this indicates that the Usage parameter requires some
additional information. You can’t just use the command Get-PhysicalDisk –Usage because even though Usage is
a valid parameter, PowerShell needs more information. It needs to know what kind of usage you are interested in.
Any time you see a word in between the less than < and greater than > signs, it indicates that you are going to
need to provide some additional information to the parameter. So in this case, -Usage is the parameter and
<usage[]> is the additional data.
Of course this raises the question of where we can find this additional data. Well, it is included in the command
syntax. You will notice that the next section of the syntax is:
{Unknown | AutoSelect | ManualSelect | HotSpare | Retired | Journal}
You will notice that the list of words is enclosed in braces {}. These braces indicate that the words within can be
used in conjunction to the optional parameter. To show you what I mean, let’s go back to the original example in
which I wanted to find information related to retired physical disks. To get this information, I could use the
following command:
Get-PhysicalDisk –Usage Retired
So you can see that I am appending the –Usage parameter to the Get-PhysicalDisk cmdlet, and then I am telling
PowerShell what type of Usage I am interested in.
The syntax that is displayed within the above figure continues on, but the basic pattern repeats. The syntax
information lists a number of optional parameters and the data that can be used with those parameters. Some of
the other optional parameters for instance are –Description, -Manufacturer, -Model, -CanPool, and –HealthStatus,
and the list goes on.
=====================================================
I like to follow along so I got it that []= optional , <>=mandatory, {}= list of items
However, I ran the command and got something different:
PS C:\Users\Administrator.BWCAT> get-help Get-PhysicalDisk
NAME
    Get-PhysicalDisk
SYNOPSIS
    Gets a list of all PhysicalDisk objects visible across any available Storage Management Providers, or optionally a
    filtered list.
SYNTAX
    Get-PhysicalDisk [-AsJob] [-CanPool <Boolean[]>] [-CimSession <CimSession[]>] [-Description <String[]>]
    [-HealthStatus <HealthStatus[]>] [-Manufacturer <String[]>] [-Model <String[]>] [-ThrottleLimit <Int32>]
    [-UniqueId <String[]>] [-Usage <Usage[]>] [<CommonParameters>]
    Get-PhysicalDisk [-AsJob] [-CanPool <Boolean[]>] [-CimSession <CimSession[]>] [-Description <String[]>]
    [-HealthStatus <HealthStatus[]>] [-Manufacturer <String[]>] [-Model <String[]>] [-StoragePool <CimInstance>]
    [-ThrottleLimit <Int32>] [-Usage <Usage[]>] [<CommonParameters>]
    Get-PhysicalDisk [-AsJob] [-CanPool <Boolean[]>] [-CimSession <CimSession[]>] [-Description <String[]>]
    [-HealthStatus <HealthStatus[]>] [-Manufacturer <String[]>] [-Model <String[]>] [-StorageNode <CimInstance>]
    [-ThrottleLimit <Int32>] [-Usage <Usage[]>] [<CommonParameters>]
    Get-PhysicalDisk [-AsJob] [-CanPool <Boolean[]>] [-CimSession <CimSession[]>] [-Description <String[]>]
    [-HasAllocations <Boolean>] [-HealthStatus <HealthStatus[]>] [-Manufacturer <String[]>] [-Model <String[]>]
    [-SelectedForUse <Boolean>] [-ThrottleLimit <Int32>] [-Usage <Usage[]>] [-VirtualDisk <CimInstance>]
    [-VirtualRangeMax <UInt64>] [-VirtualRangeMin <UInt64>] [<CommonParameters>]
    Get-PhysicalDisk [-AsJob] [-CanPool <Boolean[]>] [-CimSession <CimSession[]>] [-Description <String[]>]
    [-HealthStatus <HealthStatus[]>] [-Manufacturer <String[]>] [-Model <String[]>] [-StorageEnclosure <CimInstance>]
    [-ThrottleLimit <Int32>] [-Usage <Usage[]>] [<CommonParameters>]
    Get-PhysicalDisk [-AsJob] [-CanPool <Boolean[]>] [-CimSession <CimSession[]>] [-Description <String[]>]
    [-HealthStatus <HealthStatus[]>] [-Manufacturer <String[]>] [-Model <String[]>] [-StorageSubSystem <CimInstance>]
    [-ThrottleLimit <Int32>] [-Usage <Usage[]>] [<CommonParameters>]
    Get-PhysicalDisk [[-FriendlyName] <String[]>] [-AsJob] [-CanPool <Boolean[]>] [-CimSession <CimSession[]>]
    [-Description <String[]>] [-HealthStatus <HealthStatus[]>] [-Manufacturer <String[]>] [-Model <String[]>]
    [-ThrottleLimit <Int32>] [-Usage <Usage[]>] [<CommonParameters>]
I then tried to do what they said:
Get-PhysicalDisk -Description string        ((However you can see that what he says does not seem to apply to the string, and I dont see a list of things to choose from.  So I am confused on how to understand the syntax here can
someone help me to understand the syntax?
Thanks,

It said the following in the -full
 -Description <String[]>
     Gets the physical disks that contain the specified description. Enter a description, or use wildcard
     characters to enter a description pattern.
     Required?                    false
     Position?                    named
     Default value
     Accept pipeline input?       false
     Accept wildcard characters?  false
When I read that I take it to mean that it wants me to enter the string after -description as a filter in order to tailor my search?  because if I type  Get-physicaldisk -description "*"    or I enter get-physical -description
*   that command seems to work and pull up information.  in my case I only have one disk.
=========================================
PS C:\Users\Administrator.BWCAT> Get-PhysicalDisk -HealthStatus healthy
FriendlyName        CanPool             OperationalStatus   HealthStatus        Usage                            
 Size
PhysicalDisk0       False               OK                  Healthy             Auto-Select            
          40 GB
PS C:\Users\Administrator.BWCAT> Get-PhysicalDisk -Description "*"
FriendlyName        CanPool             OperationalStatus   HealthStatus        Usage                            
 Size
PhysicalDisk0       False               OK                  Healthy             Auto-Select            
          40 GB
PS C:\Users\Administrator.BWCAT> Get-PhysicalDisk -Description *
FriendlyName        CanPool             OperationalStatus   HealthStatus        Usage                            
 Size
PhysicalDisk0       False               OK                  Healthy             Auto-Select            
          40 GB
PS C:\Users\Administrator.BWCAT>
=========================================

Similar Messages

  • Speeding up the Get-MailboxStatistics cmdlet for ~19K mailboxes.

    Greetings,
    While this is partially a PowerShell scripting question, I am posting it in the Exchange 2010 forum because the issues I believe center around the Get-MailboxStatistics itself, and the speed of my scripts in Exchange 2010 (possibly
    due to the additional overhead in remote PowerShelling).
    In my Exchange 2010 system we have ~19,000 mailboxes spread accross multiple DAG nodes, and ever since we upgraded from Exchange 2007 to Exchange 2010, gathering all of the mailboxes and then gathering their statistics takes almost
    twice as long. For example a script that used to take ~45 minutes in Exchange 2007, takes about an hour and a ½.
    The issue I am running into when clocking core aspects of a mailbox data gathering scripts is that the Get-MailboxStatistics seems to be taking an excessively long period of time, and I am hoping someone can help me figure out a
    way to speed up the process.
    For example this is a boiled down script I created, where I ripped out a ton of other things and just focused on the Get-Mailbox and Get-MailboxStatistics commands:
    $BaseOU
    =
    "Customers"
    # Capture the date and time in a variable using the "Fri 11/01/2010 6:00 AM" format.
    $DateTime
    =
    Get-Date
    -Format
    "ddd MM/dd/yyyy h:mm tt"
    # Select a single domain controller to use for all the queries (to avoid mid AD replication inconsistencies)
    from the environment variable LOGONSERVER - this ensures the variable will always be dynamically updated.
    $DomainController
    = ($Env:LogonServer).Substring(2)
    # Set the loop count to 0 so it can be used to track the percentage of completion.
    $LoopCount
    = 0
    # Start tracking the time this script takes to run.
    $StopWatch1
    =
    New-Object
    System.Diagnostics.Stopwatch
    $StopWatch1.Start()
    # Get the mailbox info for all IHS customer mailboxes.the storage limit is Prohibit send or mailbox disabled
    Write-Host
    -ForegroundColor
    Green
    "Beginning mailbox gathering. In a short while a progress bar will appear."
    $GatheredMailboxes
    =
    Get-Mailbox
    -ResultSize:Unlimited
    -OrganizationalUnit
    "ADDomain.com/$BaseOU"
    -DomainController
    $DomainController |
    Select Identity,DisplayName,ProhibitSendQuota
    Write-Host
    -ForegroundColor
    Green
    "Mailbox data gathering is complete."
    $StopWatch1.Stop()
    $StopWatch2
    =
    New-Object
    System.Diagnostics.Stopwatch
    $StopWatch2.Start()
    Foreach ($Mailbox
    in
    $GatheredMailboxes) {
    # Show a status bar for progress while the mailbox data is collected.
    $PercentComplete
    = [Math]::Round(($LoopCount++
    $GatheredMailboxes.Count
    * 100),1)
    $CurrentMBDisplay
    =
    $Mailbox.DisplayName
    Write-Progress
    -Activity
    "Mailbox Data Gathering in Progress"
    -PercentComplete
    $PercentComplete
    `
    -Status
    "$PercentComplete% Complete"
    -CurrentOperation
    "Current Mailbox: $CurrentMBDisplay"
    #Get the mailbox statistics for each mailbox gathered above.
    $MailboxStats
    =
    Get-MailboxStatistics
    $Mailbox.Identity |
    Select StorageLimitStatus,TotalItemSize
    # Proceed only if the the mailbox statistics show the storage limit is Prohibit Send or Mailbox Disabled.
    # Write-Host "Stats for"$Mailbox.DisplayName"are Limit ="$MailboxStats.StorageLimitStatus"and Size ="$MailboxStats.TotalItemSize.Value.ToMB()"MB."
    # Calculate the amount of time the script took to run and write the information to the screen.
    $StopWatch2.Stop()
    $ElapsedTime
    =
    $StopWatch1.Elapsed
    Write-Host
    "he mailbox gathering took"
    $ElapsedTime.Hours
    "hours,"
    $ElapsedTime.Minutes
    "minutes, and"
    $ElapsedTime.Seconds
    `
    "seconds to run."
    $ElapsedTime
    =
    $StopWatch2.Elapsed
    Write-Host
    "The foreach loop took"
    $ElapsedTime.Hours
    "hours,"
    $ElapsedTime.Minutes
    "minutes, and"
    $ElapsedTime.Seconds
    `
    "seconds to run."
    Using the two stop clocks, I was able to see that the Get-Mailbox of all mailboxes took ~9 minutes. That isn’t lightning fast, but it isn’t unreasonable.
    The issue comes in where the Foreach loop with the Get-MailboxStatistics took ~53 minutes, and I am sure some of the mailbox data was cached on the servers from my various tests so it would probably take even longer with a cold
    run.
    I did some digging around and I really couldn’t find anything on how to speed up the Get-MailboxStatistics, and the only thing I found was this link:
    http://social.technet.microsoft.com/Forums/en-US/winserverpowershell/thread/9ceefddd-7a59-44ec-8fc0-8de244acb58b
    However I am not clear on how moving the Get-MailboxStatistics into the Get-Mailbox syntax (which is odd to me in general) would speed things up if I still have to have a foreach loop to process the data a little bit and add the
    users to a datatable. That discussion also made think the foreach loop itself is slowing things down but unclear as to how/why if that is true. 
    Can someone help share some ideas on how to speed up this process? I think there are some other things I could try but I can’t think of them.
    Thank you in advance.

    I think it's impossible to speed up the Get-MailboxStatistics when it is being called for each and every mailbox individually.
    I read somewhere in other posts people were having better performance by calling the cmdlet against an entire database or server so I gave it a shot with this code:
    $DAGS = "EXCHDAG1"
    # Start tracking the time this script takes to run.
    $StopWatch = New-Object System.Diagnostics.Stopwatch
    $StopWatch.Start()
    $MailboxStatistics = New-Object System.Data.DataTable “MailboxStatistics”
    $MailboxStatistics.Columns.Add("TotalitemSize",[String]) | Out-Null
    $MailboxStatistics.Columns.Add("ItemCount",[String]) | Out-Null
    $MailboxStatistics.Columns.Add("LastLogonTime",[String]) | Out-Null
    $MailboxStatistics.Columns.Add("LastLogoffTime",[String]) | Out-Null
    $MailboxStatistics.Columns.Add("MailboxGUID",[String]) | Out-Null
    $MailboxStatistics.PrimaryKey = $MailboxStatistics.Columns["MailboxGUID"]
    ForEach ($DAGServer in (Get-DatabaseAvailabilityGroup $DAGS).Servers) {
    ForEach ($MailboxStats in (Get-MailboxStatistics -Server $DAGServer.Name | Where {$_.DisconnectDate -eq $Null})) {
    $NewMBXStatsDTRow = $MailboxStatistics.NewRow()
    $NewMBXStatsDTRow.TotalitemSize = $MailboxStats.TotalItemSize
    $NewMBXStatsDTRow.ItemCount = $MailboxStats.ItemCount
    $NewMBXStatsDTRow.LastLogonTime = $MailboxStats.LastLogonTime
    $NewMBXStatsDTRow.LastLogoffTime = $MailboxStats.LastLogoffTime
    $NewMBXStatsDTRow.MailboxGUID = $MailboxStats.MailboxGuid.ToString()
    $MailboxStatistics.Rows.Add($NewMBXStatsDTRow)
    $StopWatch.Stop()
    $ElapsedTime = $StopWatch.Elapsed
    Write-Host "The script took" $ElapsedTime.Hours "hours," $ElapsedTime.Minutes "minutes, and" $ElapsedTime.Seconds `
    "seconds to run."
    Here are the results in speed:
    The script took 0 hours, 3 minutes, and 13 seconds to run.
    So yeah... ~3 minutes versus ~1 hour, I would say that's an improvement.
    Now I will go back to my script and as I process each mailbox I will pull it's statistics information out of the DataTable using its GUID with:
    If ($MailboxStats = $MailboxStatistics.Rows.Find($Mailbox.MailboxGUID)) {
    # Insert mailbox statistics processing here using the $MailboxStats variable with "." extensions.
    } Else {
    # Mailbox statistics weren't found so go grab them individually as a backup mechanism for scenarios when a user's mailbox got moved out of the DAG to a non-DAG database for whatever reason.
    It's a little silly that I have to extract the information out of each DAG server and put it in an in-memory table just to speed this process up, but clearly there is overhead with the Get-MailboxStatistics cmdlet and grabbing more mailboxes at once helps
    negate this issue.
    I'm going to mark my own response as an answer because I don't think anyone else is going to come up with something better than what I put together.

  • I want to check the main diffrence in Pop up block enabled and disabled.But,i don't get any difference.Would u please help me to understand the difference using one practical example of website

    I want to check the main diffrence in Pop up block enabled and disabled.But,i don't get any difference.Would u please help me to understand the difference using one practical example of website

    Here's two popup test sites.
    http://www.kephyr.com/popupkillertest/test/index.html
    http://www.popuptest.com/

  • HT204088 I don't understand the charges on my account for Itunes.  When I asked for history online, I get no results.  Please help.

    I don't understand the charges on my credit card for itunes.  please help

    Your credit card is only linked to one iTunes account, and you've checked the purchase history on it via your computer's iTunes as per the page that you posted from ? And you don't have iTunes Match or any auto-renewing subscriptions (I'm not sure if they show on the purchase history or not, I don't have any so I can't check) : http://support.apple.com/kb/HT4098
    And you haven't added or changed your credit card details on your iTunes account ? Each time that you do so a small temporary store holding charge may be applied to check that the card details are correct and valid and that it's registered to exactly the same name and address as on your iTunes account - it should disappear off your account within a few days or so. Store holding charge : http://support.apple.com/kb/HT3702
    If you can't find anything on your account's purchase history then you should probably contact your card issuer and get the card cancelled and replaced. You can also contact iTunes Support via this page : http://www.apple.com/support/itunes/contact/ - click on Contact iTunes Store Support on the right-hand side of the page, then Purchases, Billing & Redemption
    I don't know what your second post means.

  • Please help me in understanding the EDIFACT D96A format for INVOICE

    Hi,
    Im doing an INVOICE02 IDOC to EDIFACT D96A INVOIC scenario. Im new to EDI.
    Pls Pls Pls Pls kindly help me in understanding the following EDIFACT D96A file. 
    UNBUNOA:35410033000055:145400110000009:14070612:085511137INV96A+EANCOM1'                                        
    UNH1INVOIC:D:96A:UN:EAN008'                                        
    BGM3805010237529+9'                                        
    DTM+137:200706120000:203'                                        
    DTM+35:20070612:102'                                        
    DTM+454:20070612:102'                                        
    RFF+ON:32210'                                        
    DTM+171:20070612:102'                                        
    RFF+DQ:000030585715'                                        
    DTM+171:20070612:102'                                        
    NADSU5410148000001::9+BVBA Unilever Belgium SPRLBl.De L?'Humanité 292 292Bruxelles1190BE'                                        
    RFF+VA:BE438390312'                                        
    RFF+ARA:0438390312'                                        
    NADBY5400110000009::9+D.L.L.RUE OSSEGHEM 53-MOLENBEEKMOLENBEEK-SAINT-JEAN1080BE'                                        
    NADDP5400110000009::9+D.L.L.RUE OSSEGHEM 53-MOLENBEEKMOLENBEEK-SAINT-JEAN1080BE'                                        
    NADIV5400110000009::9+DELHAIZE FRS. CENTRALESRUE OSSEGHEM , 53BRUSSEL-MOLENBEEK1080BE'                                        
    RFF+VA:BE402206045'                                        
    RFF+ARA:0402206045'                                        
    CUX+2:EUR:4'                                        
    LIN10+8000920900987:EN'                                        
    PIA1000000000019009801:SA'                                        
    IMDF+IN:::IGLO POELEE LEGUMES CHAMPIGNONS 6X8'                                        
    QTY+47:81'                                        
    QTY+46:81'                                        
    MOA+203:1584.4'                                        
    PRI+AAA:19.56'                                        
    PRI+AAB:21.24'                                        
    TAX7VAT+++:::6.000'                                        
    MOA+125:1584.4'                                        
    ALCA++1'                                        
    PCD+1:0:1'                                        
    ALCA++1'                                        
    PCD+1:1.97:1'                                        
    ALCA++1'                                        
    PCD+1:1.96:1'                                        
    LIN20+5410148126459:EN'                                        
    PIA1000000000011264501:SA'                                        
    IMDF+IN:::Epinards hachis en portions '                                        
    QTY+47:112'                                        
    QTY+46:112'                                        
    MOA+203:1061.01'                                        
    PRI+AAA:9.47'                                        
    PRI+AAB:10.96'                                        
    TAX7VAT+++:::6.000'                                        
    MOA+125:1061.01'                                        
    ALCA++1'                                        
    PCD+1:0:1'                                        
    ALCA++1'                                        
    PCD+1:1.97:1'                                        
    ALCA++1'                                        
    PCD+1:1.96:1'                                        
    LIN40+5410148013452:EN'                                        
    PIA1000000000010134500:SA'                                        
    IMDF+IN:::15 Fish Sticks Colin d?'Alaska '                                        
    QTY+47:256'                                        
    QTY+46:256'                                        
    MOA+203:4937.63'                                        
    PRI+AAA:19.29'                                        
    PRI+AAB:20.16'                                        
    TAX7VAT+++:::6.000'                                        
    MOA+125:4937.63'                                        
    ALCA++1'                                        
    PCD+1:0:1'                                        
    ALCA++1'                                        
    PCD+1:1.97:1'                                        
    LIN50+5414807999958:EN'                                        
    PIA1000000000019999501:SA'                                        
    IMDF+IN:::Iglo Poisson Pané Epinards 7X400g'                                        
    QTY+47:180'                                        
    QTY+46:180'                                        
    MOA+203:4160.31'                                        
    PRI+AAA:23.11'                                        
    PRI+AAB:24.08'                                        
    TAX7VAT+++:::6.000'                                        
    MOA+125:4160.31'                                        
    ALCA++1'                                        
    PCD+1:0:1'                                        
    ALCA++1'                                        
    PCD+1:1.97:1'                                        
    LIN60+5410148120952:EN'                                        
    PIA1000000000011209501:SA'                                        
    IMDF+IN:::Epinards Crhme en Portions '                                        
    QTY+47:112'                                        
    QTY+46:112'                                        
    MOA+203:1594.69'                                        
    PRI+AAA:14.24'                                        
    PRI+AAB:15.92'                                        
    TAX7VAT+++:::6.000'                                        
    MOA+125:1594.69'                                        
    ALCA++1'                                        
    PCD+1:0:1'                                        
    ALCA++1'                                        
    PCD+1:1.97:1'                                        
    ALCA++1'                                        
    PCD+1:1.96:1'                                        
    LIN70+5410148124158:EN'                                        
    PIA1000000000011241503:SA'                                        
    IMDF+IN:::EPINARDS HACHES EN PORTIONS 450G'                                        
    QTY+47:144'                                        
    QTY+46:144'                                        
    MOA+203:938.01'                                        
    PRI+AAA:6.51'                                        
    PRI+AAB:7.44'                                        
    TAX7VAT+++:::6.000'                                        
    MOA+125:938.01'                                        
    ALCA++1'                                        
    PCD+1:0:1'                                        
    ALCA++1'                                        
    PCD+1:1.97:1'                                        
    ALCA++1'                                        
    PCD+1:1.96:1'                                        
    LIN120+5410148016729:EN'                                        
    PIA1000000000010167201:SA'                                        
    IMDF+IN:::Macaroni Fromage/Jambon '                                        
    QTY+47:260'                                        
    QTY+46:260'                                        
    MOA+203:4337.55'                                        
    PRI+AAA:16.68'                                        
    PRI+AAB:17.58'                                        
    TAX7VAT+++:::6.000'                                        
    MOA+125:4337.55'                                        
    ALCA++1'                                        
    PCD+1:0:1'                                        
    ALCA++1'                                        
    PCD+1:1.97:1'                                        
    LIN130+5410148441255:EN'                                        
    PIA1000000000014412503:SA'                                        
    IMDF+IN:::CHOUX ROUGES AUX POMMES 450G'                                        
    QTY+47:144'                                        
    QTY+46:144'                                        
    MOA+203:1756.99'                                        
    PRI+AAA:12.2'                                        
    PRI+AAB:13.36'                                        
    TAX7VAT+++:::6.000'                                        
    MOA+125:1756.99'                                        
    ALCA++1'                                        
    PCD+1:0:1'                                        
    ALCA++1'                                        
    PCD+1:1.97:1'                                        
    ALCA++1'                                        
    PCD+1:1.96:1'                                        
    LIN140+5410148017702:EN'                                        
    PIA1000000000010177001:SA'                                        
    IMDF+IN:::Frit?'Kot 1'                                        
    QTY+47:60'                                        
    QTY+46:60'                                        
    MOA+203:1102.6'                                        
    PRI+AAA:18.38'                                        
    PRI+AAB:22'                                        
    TAX7VAT+++:::6.000'                                        
    MOA+125:1102.6'                                        
    ALCA++1'                                        
    PCD+1:0:1'                                        
    ALCA++1'                                        
    PCD+1:1.97:1'                                        
    ALCA++1'                                        
    PCD+1:4.9:1'                                        
    LIN180+8000920801796:EN'                                        
    PIA1000000000018017901:SA'                                        
    IMDF+IN:::EPINARDS EN BRANCHES 10 X 450'                                        
    QTY+47:190'                                        
    QTY+46:190'                                        
    MOA+203:2204.2'                                        
    PRI+AAA:11.6'                                        
    PRI+AAB:12.9'                                        
    TAX7VAT+++:::6.000'                                        
    MOA+125:2204.2'                                        
    ALCA++1'                                        
    PCD+1:0:1'                                        
    ALCA++1'                                        
    PCD+1:1.97:1'                                        
    ALCA++1'                                        
    PCD+1:1.96:1'                                        
    LIN200+5410148014268:EN'                                        
    PIA1000000000010142602:SA'                                        
    IMDF+IN:::PETITS POIS EXTRA FINS 450G'                                        
    QTY+47:238'                                        
    QTY+46:238'                                        
    MOA+203:1999.6'                                        
    PRI+AAA:8.4'                                        
    PRI+AAB:9.24'                                        
    TAX7VAT+++:::6.000'                                        
    MOA+125:1999.6'                                        
    ALCA++1'                                        
    PCD+1:0:1'                                        
    ALCA++1'                                        
    PCD+1:1.97:1'                                        
    ALCA++1'                                        
    PCD+1:1.96:1'                                        
    LIN230+8000920807248:EN'                                        
    PIA1000000000018072403:SA'                                        
    IMDF+IN:::IGLO POUL ET PENNE AUX LEG.SOLEI. 6'                                        
    QTY+47:99'                                        
    QTY+46:99'                                        
    MOA+203:1727.54'                                        
    PRI+AAA:17.45'                                        
    PRI+AAB:18.3'                                        
    TAX7VAT+++:::6.000'                                        
    MOA+125:1727.54'                                        
    ALCA++1'                                        
    PCD+1:0:1'                                        
    ALCA++1'                                        
    PCD+1:1.97:1'                                        
    UNS+S'                                        
    CNT+2:12'                                        
    MOA+124:1644.27'                                        
    MOA+86:29048.8'                                        
    MOA+79:27404.53'                                        
    MOA+125:27404.53'                                        
    TAX7VAT++:::6.000S'                                        
    MOA+125:27404.50'                                        
    MOA+124:1644.27'                                        
    UNT2121'                                        
    UNZ111137'
    Advance appreciations,
    Ram.

    Its very simple:
    UNB-segment : Interchange Header
    S001     SYNTAX IDENTIFIER
    0001     Syntax Identifier                    “UNOA”
    0002     Syntax version number               “2”
    S002     INTERCHANGE RECIPIENT
    0004     Sender Identification                    “8711382000091”  (= GLN Code Tilburg)     
    0007     Identification Code Qualifier               “14”
    S003     INTERCHANGE SENDER
    0004     Recipient Identification               “8711700400008”(= GLN Code Unilever)
    0007     Identification Code Qualifier               “14”
    S004     DATE/TIME OF PREPARATION
    0017     Date                            YYMMDD
    0019     Time                            HHMM
    0020     INTERCHANGE CTRL REF.     Unique message reference number
    0026     APPLICATION REFERENCE          “WMS0330”
    UNH-segment: Message header
    0062     MESSAGE REFERENCE NUMBER      Unique sequence numbe within UNB
    S009     MESSAGE IDENTIFIER
    0065     Message type     identifier               “INVRPT”
    0052     Message type version number               “D”
    0054     Message type release number               “96A”
    0051     Controlling agency                    “EN”
    0057     Association assigned code               “EAN004”
    BGM-segment: Beginning of message
    C002     DOCUMENT/MESSAGE NAME
    1001     Document/message name, coded  35”     (= Inventory report)
    3055     Code list responsible agency, coded     “9”     (= EAN)
    1004     DOCUMENT/MESSAGE NUMBER     Unique Number assigned by CS (= Date/Time CCYYMMDDHHMMSS)
    1225     MESSAGE FUNCTION, CODED          “9”     (= Original)
    DTM-segment: Date/time/period
    C507     DATE/TIME/PERIOD
    2005     Date/time/period qualifier 137”     (=Document/message date/time)
    2380     Date/time/period     Document date
    2379     Date/time/period format qualifier     “102”     (= CCYYMMDD)
    RFF-segment: Reference
    C506     REFERENCE
    1153     Reference code qualifier “ON”     (= Order number)
    1154     Reference identifier     Agreement number
    NAD-segment: Name and address
    3035     PARTY QUALIFIER     “GY”     (= Inventory reporting party = CS)
                   “GM”     (= Inventory controller = XYZ)
    C082     PARTY IDENTIFICATION DETAILS
    3039     Party id. identification          GLN code
    3055     Code list responsible agency, coded     “9”     (= EAN)
    LIN-segment: Line item
    1082     LINE ITEM NUMBER               Unique Line Number
    C212     ITEM NUMBER IDENTIFICATION
    7140     Item number               EAN Material code
    7143     Item number type, coded          “EN”     (= EAN)
    PIA-segment: Additional Product Information
    4347     PRODUCT ID FUNCTION IDENTIFIER     "1"(= Additional Information)
    C212     ITEM NUMBER IDENTIFICATION
    7140     Item number          Promotional Variant
    7143     Item number type, coded     "PV”     (= Promotional variant)
    QTY-segment: Quantity
    C186     QUANTITY DETAILS
    6063     Quantity qualifier     “12”      (= Despatch quantity)
    6060     Quantity           Number of stock units
    PRI: Represent price
    TAX: represent tax.
    Try to go to the below website where you will able to get the information regarding all the sgements and elements of Invocie.
    http://www.edifactory.de/messages.php?s=D96A
    Also refer the below link for EDI understanding:
    http://www.gxs.com/pdfs/Tutorial/Tutor_EDIFACT_GXS.pdf
    Thnx
    Chirag Gohil

  • Get-Help command not showing all the details

    When I open the Exchange Management Shell on my laptop and do any command like the following:
    help get-mailbox -detailed
    I just get the following result:
    SYNTAX
    DESCRIPTION
    PARAMETERS
        <CommonParameters>
            This cmdlet supports the common parameters: Verbose, Debug,
            ErrorAction, ErrorVariable, WarningAction, WarningVariable,
            OutBuffer and OutVariable. For more information, see
            about_CommonParameters (link of some kind).
    REMARKS
        To see the examples, type: "get-help  -examples".
        For more information, type: "get-help  -detailed".
        For technical information, type: "get-help  -full".
    If I do the same commands from any of my Exchange servers, I get the full details.  I've done this command for years and this is the first time I'm seeing no details.  Any help would be appreciated.
    Thanks,
    Andrew

    I understand that, but the question was whether I knew what an elevated prompt was.  When I run the 'update-help' command from the powershell session using an elevated prompt, I get the following output.
    update-help : Failed to update Help for the module(s) 'Microsoft.PowerShell.Diagnostics, Microsoft.WSMan.Management'
    with UI culture(s) {en-US} : Unable to retrieve the HelpInfo XML file for UI culture en-US. Make sure the HelpInfoUri
    property in the module manifest is valid or check your network connection and then try the command again.
    This output is the same in either a PowerShell session or an Exchange Management Shell session both running with elevated permissions.
    If I type the command 'help get-user -detailed' in the PowerShell session, I get what I expect, but in the Exchange Management Shell session I get nothing but the kind of thing that was in my original post.
    Very odd.
    Andrew

  • Why am I getting a syntax error on the /head line in DW CC?

    I am getting a syntax error in DW CC.  Other threads have indicated this was a bug in CS6 but had been fixed in CC.  That leads me to believe it's my fault, but I can't figure it out.  Can anyone help based on the information I've pasted below?  Thanks!
    <!doctype html>
    <!--[if lt IE 7]> <html class="ie6 oldie"> <![endif]-->
    <!--[if IE 7]>    <html class="ie7 oldie"> <![endif]-->
    <!--[if IE 8]>    <html class="ie8 oldie"> <![endif]-->
    <!--[if gt IE 8]><!-->
    <html class="">
    <!--<![endif]-->
    <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Untitled Document</title>
    <link href="boilerplate.css" rel="stylesheet" type="text/css">
    <link href="style.css" rel="stylesheet" type="text/css">
    <link href="jQueryAssets/jquery.ui.core.min.css" rel="stylesheet" type="text/css">
    <link href="jQueryAssets/jquery.ui.theme.min.css" rel="stylesheet" type="text/css">
    <link href="jQueryAssets/jquery.ui.accordion.min.css" rel="stylesheet" type="text/css">
    <link href="jQueryAssets/jquery.ui.tabs.min.css" rel="stylesheet" type="text/css">
    <!--
    To learn more about the conditional comments around the html tags at the top of the file:
    paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/
    Do the following if you're using your customized build of modernizr (http://www.modernizr.com/):
    * insert the link to your js here
    * remove the link below to the html5shiv
    * add the "no-js" class to the html tags at the top
    * you can also remove the link to respond.min.js if you included the MQ Polyfill in your modernizr build
    -->
    <!--[if lt IE 9]>
    <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
    <script src="respond.min.js"></script>
    <script src="jQueryAssets/jquery-1.8.3.min.js" type="text/javascript"></script>
    <script src="jQueryAssets/jquery-ui-1.9.2.accordion.custom.min.js" type="text/javascript"></script>
    <script src="jQueryAssets/jquery-ui-1.9.2.tabs.custom.min.js" type="text/javascript"></script>
    <!--The following script tag downloads a font from the Adobe Edge Web Fonts server for use within the web page. We recommend that you do not modify it.--><script>var __adobewebfontsappname__="dreamweaver"</script><script src="http://use.edgefonts.net/adamina:n4:default.js" type="text/javascript"></script>
    </head>
    <body>
    <div class="gridContainer clearfix">
      <div id="div1" class="fluid">
        <header id="header" class="fluid">
          <p><img src="Images/Logos/insidejoplinlogo.png"  alt=""/></p>
            <nav id="mainnav" class="fluid"> <ul class="fluid fluidList mainnavlist"> <li class="fluid mainnavitem zeroMargin_desktop"><a href="Index2.html" title="Inside Joplin Home" target="_self">Home</a></li><li class="fluid mainnavitem"><a href="news.html">News</a></li><li class="fluid mainnavitem"><a href="entertainment.html">Entertainment</a></li><li class="fluid mainnavitem"><a href="announcements.html">Announcements</a></li><li class="fluid mainnavitem hide_mobile"><a href="galleries.html">Galleries</a></li><li class="fluid mainnavitem hide_mobile"><a href="aboutcontact.html">About/Contact</a></li>  </ul> </nav>
        </header>
        <article id="indexguts" class="fluid">    <article id="indexarticle" class="fluid">
          <h4 class="fluid articleH4 zeroMargin_mobile">Latest News</h4>
          <p> </p>
         <div id="Accordion1">
            <h3><a href="#">Section 1</a></h3>
            <div>
              <p>Content 1</p>
              </div>
            <h3><a href="#">Section 2</a></h3>
            <div>
              <p>Content 2</p>
              </div>
            <h3><a href="#">Section 3</a></h3>
            <div>
              <p>Content 3</p>
              </div>
          </div>
        </article><article id="article1" class="fluid">
          <h4 class="fluid articleH4 zeroMargin_mobile">Latest Entertainment</h4>
          <p> </p>
          <div id="Accordion2">
            <h3><a href="#">Section 1</a></h3>
            <div>
              <p>Content 1</p>
              </div>
            <h3><a href="#">Section 2</a></h3>
            <div>
              <p>Content 2</p>
              </div>
            <h3><a href="#">Section 3</a></h3>
            <div>
              <p>Content 3</p>
              </div>
          </div>
        </article><article id="article2" class="fluid"><h4 class="fluid articleH4 zeroMargin_mobile">Latest Announcements</h4>
        <p> </p>
          <div id="Tabs1">
            <ul>
              <li><a href="#tabs-1">Obituaries</a></li>
              <li><a href="#tabs-2">Weddings</a></li>
              <li><a href="#tabs-3">More</a></li>
              </ul>
            <div id="tabs-1">
              <p>Content 1</p>
              </div>
            <div id="tabs-2">
              <p>Content 2</p>
              </div>
            <div id="tabs-3">
              <p>Content 3</p>
              </div>
        </div>
        </article><article id="indexbotleft" class="fluid">This is the content for Layout Article Tag "indexbotleft"</article><article id="article3" class="fluid">This is the content for Layout Article Tag "indexbotleft"</article></article><aside id="mainsidebar" class="fluid">This is the content for Layout Aside Tag "mainsidebar"</aside><aside id="mainsidebar2" class="fluid">This is the content for Layout Aside Tag "mainsidebar2"</aside><article id="indexbotrot" class="fluid">This is the content for Layout Article Tag "indexbotrot"</article>
        <footer id="footer" class="fluid">
        <nav id="footernav" class="fluid">
         <ul id="footernavlist" class="fluid fluidList"> <li class="fluid footernavlistitem zeroMargin_mobile"><a href="Index2.html">Home</a></li><li class="fluid footernavlistitem hide_mobile"><a href="news.html">News</a></li>
          <li class="fluid footernavlistitem hide_mobile"><a href="entertainment.html">Entertainment</a></li>
          <li class="fluid footernavlistitem hide_mobile"><a href="announcements.html">Announcements</a></li>
           <li class="fluid footernavlistitem zeroMargin_desktop zeroMargin_mobile"><a href="galleries.html">Galleries</a></li>
           <li class="fluid footernavlistitem zeroMargin_mobile"><a href="aboutcontact.html">About Us</a></li> 
            <li class="fluid footernavlistitem zeroMargin_mobile"><a href="mailto:[email protected]">Email</a></li> <li class="fluid footernavlistitem zeroMargin_mobile"><a href="www.facebook.com/insidejoplin" target="new">Facebook</a></li></ul> 
           </nav>
           <article id="footerarticle" class="fluid"><img src="Images/Logos/insidejoplinlogo.png"  alt=""/></article>
        </footer>
      </div>
    </div>
    +
    <script type="text/javascript">
    $(function() {
              $( "#Accordion1" ).accordion();
    $(function() {
              $( "#Accordion2" ).accordion();
    $(function() {
              $( "#Tabs1" ).tabs();
    </script>
    </body>
    </html>

    Well Jon, the code is very simple... it's generated by DW's form check... and, as i said, it happens with unfailing regularity the minute it's put in to a template generated child.
    This is what the code on the page looks like:
    <head>
    <!-- InstanceBeginEditable name="doctitle" -->
    <title>Title Here</title>
    <meta name="Keywords" content="some keywords here" />
    <meta name="Description" content="Description here" />
    <script type="text/javascript">
    function MM_validateForm() { //v4.0
      if (document.getElementById){
        var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
        for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]);
          if (val) { nm=val.name; if ((val=val.value)!="") {
            if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
              if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
            } else if (test!='R') { num = parseFloat(val);
              if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
              if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
                min=test.substring(8,p); max=test.substring(p+1);
                if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
          } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
        } if (errors) alert('The following error(s) occurred:\n'+errors);
        document.MM_returnValue = (errors == '');
    </script>
    <!-- InstanceEndEditable -->
    </head>
    And, whammo: "There is a syntax error on line xx. Code hinting may not work until you fix this error."
    And, the error always highlights the closing </script> line.
    The script itself is fine:
    1. If one puts it into an external js file, there's no problem
    2. If one puts it in the body section, there's no problem
    3. If one puts it in the template, there's no problem
    Also, if one removes the closing </script> tag, the error goes away
    The problem only happens in a child generated by a template and in the location I've illustrated. Apparently, this is a problem a lot of users are facing...

  • The best way to get help with logic

    I was posting in a thread on support for logic which appears to have been deleted. anyway, what I was going to say I think is useful info for people, so I'm going to post it anyway. to the mods - it doesn't contain any speculation about policies or anything like that. just an explanation of my views on the best way to deal with issues people have with logic, which I think is a valuable contribution to this forum.
    I think there's a need for perspective. when you buy an apple product you get 90 days of free phone support to get everything working nice and neat. you can call them whenever, and you could actually keep them on the phone all day if you wanted, making them explain to you how to copy a file, install microsoft office, or any number of little questions no matter how simple - what is that red button thingy in my window for?.. on top of that, you've got a 14 day dead on arrival period (or 10 days I can't remember) in which if your machine has any kind of hardware fault whatsoever it's exchanged for a totally new one, no questions asked. a lot of people complain that applecare is overpriced.. and if you think of it just as an extended warranty, then it is a little pricey. but if you are someone that could use a lot of phone support, then it's actually potentially a total bargain. the fact that 2 or more years after you bought a computer, you could still be calling them every single day, asking for any kind of advice on how to use anything on the machine, is quite something. many people on this forum have had problems when they made the mistake of upgrading to 10.4.9 without first creating a system clone or checking first with their 3rd party plug in vendors to make sure it was ok. so, with apple care, you could call them and keep a technician on the phone _all day_ talking you through step-by-step how to back up all of your user data, how to go through and preserve your preferences and any other specific settings you might not want to lose, and then how to rollback to an earlier OS version.. they'll hold your hand through the whole thing if you need them to.
    as for applecare support for pro apps like logic, I'd be the first person to agree that it's not great for anyone except beginners and first time users. if you look at what it takes to get even the highest level of logic certification, it's all pretty basic stuff. and logic doesn't exist in a vacuum, there is an entire universe of 3rd party software and hardware, as well as studio culture and advanced user techniques that are going to be totally invisible to some poor phone support guy at apple that did a logic 101. but it's not hard to see that apple are trying to promote a different kind of support culture, it's up to you to decide whether you want to buy into it or not.
    the idea is that they are able to provide basic setup support for new users, including troubleshooting. because it's a simpler level of support, at least they can do this well. so there's no reason why any new user with say a new imac and logic can't get up and running with the 90 days of phone support they get for free.
    but the thing is, for extremely high end pro users it's a different matter altogether. pro use of logic within the context of say, a studio or a film composition scenario is a very different world. it's almost a nonsense to imagine that apple could even hire people capable of giving useful support for this end of the spectrum, over the phone. there are so many variables, and so many things that require a very experienced studio person or in-work composer to even begin to understand the setup, let alone troubleshoot it. and it's a constantly evolving world, you actually have to be working in it and aware of developments on 3rd party fronts as well as changes in hardware.. not to mention even changes in the culture of studio production and the changed expectations that come from that. there's no way some poor little guy sitting at a help desk at apple can even hope to be privy to that kind of knowledge. it's already good enough that they don't outsource their support staff to india, let alone go out to studios and hire the very people with the skills that should be staying in the studio! not answering phones for apple.
    so, given this reality.. companies have two choices. they can either offer an email based support ticket system, which others do. but in my opinion.. this can just be frustrating and only a half-solution. sure you 'feel' like you are getting a response from the people that make the software and therefore must know it.. but it's not really the case due to what I said above. DAWs don't exist in a vacuum, and so much of what you need to understand to help people requires an intimate knowledge of the music industry in which they are working. you still won't get that from steinberg, even if they sort of answer your emails. the other problem is that this kind of system can mean sporadic answers, a lot of tail-chasing, and quite often you won't get an answer that helps you in the end anyway.
    the other model is to foster a strong user support culture. some people react in the wrong way to this idea.. they just think it's a big brush off from the manufacturer, saying we don't care, go sort it out yourselves.. but this isn't true. apple has a classification for pro resellers called 'apple solutions expert - audio'. what this means is that these dealers are recognised as audio specialists and they can receive extra support and training from apple for this. but more importantly than this.. most of them are music stores, or pro gear dealerships that are also mac and logic dealers. they already employ people that have worked or do work in the music industry, and are constantly on top of all of this stuff. apple encourages these dealers to run workshops, and to provide expert sales advice in the very niche area that logic is in, which they can do far better than some generic apple store ever could. but most importantly, they are encouraged to offer their own expert after-sales support and whatever other value-adding expertise they can, to get sales. because margins in computer gear are so tight nowadays, discounting is not really a viable option for these dealers to guarantee getting musicians to buy computers and logic setups from them. the only companies that can entice people with a lower price a big online wholesalers or big chain stores. so the best idea for these niche expert stores to get sales is to offer you their own experts to help with configuration, ongoing support and to generally make it a better idea that you bought your system from them rather than from some anonymous online store. I can see the wisdom of this.. it puts the support back out there on the ground where it's needed, and also where it can work best. apple could never hope to offer the same level of expertise in helping a film composer work through some issues with a specific interface or some highly specific issue they have with getting a task done. no big software manufacturer could do this anywhere near as well as people out there that have worked in studios or currently do work in studios. so in my opinion it's a far better model to foster this kind of support culture, along with training courses, books and training video support. also user forums like this one are possibly one of the most valuable ports of call anyone could ask for. apple couldn't replicate this with their own staff, even if they tried. and even if they made a system where some of the people close to logic development were able to answer emails, it would still be nowhere near as useful, as rapid or as capable of being up to speed with logic use out in the real world with 3rd pary gear, as any of these other methods are.
    the only thing I think they could do better would be to publish a list of known bugs which are officially recognised. this would help everyone and put an end to a lot of wasted time and speculation on if something is a bug totally to do with logic, or if it's a specific issue raised by a particular configuration.
    but really, in my view, a 3rd party support and training culture through a combination of specialist dealers, consultants that literally run a business setting up computers for pro-users and helping them keep it all working, online user-to-user forums and published materials really are the way forward.

    In all honesty this is currently the 3rd "logicboard" (motherboard)
    in my powerbook due to a design flaw regarding the 2nd memory slot....
    Yep. Mine failed five weeks after I bought it. However, I bought it for work and couldn't afford being without it for four weeks while they fixed it, so I had to live with it. My serial number did not entitle me to a replacement either, post Applecare.
    My firewire ports have burnt out from a third-party defective device (no hot-plugging involved)
    My screen is blotchy (my PW serial number did not entitle me to a replacement).
    My battery serial number did not entitle me to a replacement, and is not that good these days.
    My guaranteed Powerbook-compatible RAM is actually not, causing RAM related problems, most notably these days meaning that as soon as I switch to battery power, the laptop crashes, so I can only use mains power. The company I bought it from stopped taking my calls and wouldn't replace it after they replaced it once, so I'm stuck with it. And of course, only one ram slot is working, so I can't even use my original stick in the first slot, which would shift the dodgy stuff away from the lower system area.
    My power supply failed at the weak spot and caught fire. I managed to break apart the power supply and recable it so I didn't have to buy a new power supply, although the connection at the laptop end is loose (all the more fun that as soon as power is lost, the laptop crashes - see above). The power supply is held together with gaffa tape. Silver gaffer tape though, so it's still kind of 'Appley"...
    My internal hard drive is dying - four or five times now it clicks and won't power up, causing the laptop to die.
    One foot has fallen off (but glued back on).
    The lid is warped.
    The hinge is loosish.
    The S-Video adaptor cable is intermittent.
    But aside from all that, I have looked after it well, and I love it to death. Just as well, because it doesn't look like it will be that long...
    But it still "just works". Apart from the battery power obviously. And the ram slot. And the ram. And the screen. And the hard drive. And the firewire ports. And the feet.
    But everything apart from the main board, the screen, the case, the hard drive and the power supply works fine. So thats... er..
    Hmm.

  • Do week-long java courses help to understand java &  get a job?

    i tried searching for this topic before posting, but "courses" "classes" & "instruction" come up with a lot that has nothing to do with the topic at hand. :)
    like many others, i'm teaching myself out of a book (Deitel). so far i've been able to understand the material and create programs based on the exercises. however, i'm now into the meat of OOP with superclass, subclasses, how they interact and the like and i'm having a rough go of it. i can diagram and understand the abstract concept, but when i'm faced with an actual program example i have a difficult time following the interactions between classes.
    i'm considering taking one of those 5 day classes, but am wary of how much they will actually be able to cover in detail (not to mention the $$). has anyone here taken one of those classes and found them to be of great benefit to learning the OOP portion of Java? did it give you enough understanding to obtain an entry-level job?
    btw, i'm doing a pro bono project for a small company to get some real world experience. (i've heard that suggestion many times in regards to obtaining one's "experience" w/o a job)
    thank you all very much for your help.

    I took a week long course to learn Java. It worked I did learn the basics of Java but I did already know how to program in C and VB at the time. I found the AWT section of the class to be very valuable,cosidering I mostly write GUI. And the concepts of AWT mostly all apply to swing so that didn't set me back at all. Depending on the school it may help you to understand OOP. But be careful because most schools progress the class at the skill level of the majorty. So if you have 15 people in the class and 9 of them know nothing about programing your probably going to spend the week learning what a variable and a while loop do, you all pay the same tuition and they would rather 6 of you leave then 9 of you leave. If you have some prior programming knowledge I would recomend finding a class that caters to that.

  • Help needed in understanding the code.

    Hi All,
    I am just trying to understand the Java code in one Self Serice page. However, I am having tough in understanding the CO code. In the prosessRequest class, I have the below code.
    oapagecontext.putTransactionValue("AddAssignmentInsertRowFlag", "N");
    oaapplicationmodule.getTransaction().commit();
    As soon as, oaapplicationmodule.getTransaction().commit();
    gets executed, its calling some other class. Not sure what is being called, but i can see the log messages that its executing some other class which actually does the calls to DB APIs and inserting data into main tables.
    Can you please explain me what is being called to make DB API calls. I would greatly appreciate your help.
    Thanks in Advance!
    - Rani
    ****************************Here is the full code of class for your reference****************************
    public void processFormRequest(OAPageContext oapagecontext, OAWebBean oawebbean)
    if("SelectedResourceLink".equals(oapagecontext.getParameter("event")))
    Debug.log(oapagecontext, this, "SelectedResourceLink has been pressed", 3);
    oapagecontext.redirectImmediately("OA.jsp?akRegionCode=PA_SELECTED_RESOURCES_LAYOUT&akRegionApplicationId=275", true, "RP");
    String s = (String)oapagecontext.getTransactionValue("AssignmentType");
    super.processFormRequest(oapagecontext, oawebbean);
    Debug.log(oapagecontext, this, "in processFormRequest()", 3);
    OAApplicationModule oaapplicationmodule = oapagecontext.getRootApplicationModule();
    if(!"Y".equals(oapagecontext.getParameter("paMass")))
    String s1 = oapagecontext.getParameter("event");
    if("lovUpdate".equals(s1))
    Debug.log(oapagecontext, this, "*** User Selected a value from LOV ***", 3);
    String s3 = oapagecontext.getParameter("source");
    Debug.log(oapagecontext, this, "*** lovInputSourceId = " + s3 + " ***", 3);
    if("ProjectNumber".equals(s3) && "Project".equals(s))
    Hashtable hashtable = oapagecontext.getLovResultsFromSession(s3);
    String s10 = (String)hashtable.get("ProjectId");
    Debug.log(oapagecontext, this, "*** ProjectId ***" + s10, 3);
    oapagecontext.putTransactionValue("paProjectId", s10);
    if("Project".equals(s))
    Debug.log(oapagecontext, this, "*** Setting default value for Delivery assignment ***", 3);
    oaapplicationmodule.invokeMethod("defaultProjectAttrs");
    if("RoleName".equals(s3))
    Hashtable hashtable1 = oapagecontext.getLovResultsFromSession(s3);
    Debug.log(oapagecontext, this, "*** RoleName Hashtable Contents ***" + hashtable1.toString(), 3);
    String s11 = (String)hashtable1.get("RoleId");
    Debug.log(oapagecontext, this, "*** RoleId ***" + s11, 3);
    Debug.log(oapagecontext, this, "*** AssignmentType = " + s + "***", 3);
    if("Open".equals(s))
    Debug.log(oapagecontext, this, "*** Calling defaultJobAttrs for Open Assignment***", 3);
    Serializable aserializable[] = {
    s11
    oaapplicationmodule.invokeMethod("defaultJobAttrs", aserializable);
    if("Template".equals(s) || "Open".equals(s))
    Debug.log(oapagecontext, this, "*** Defaulting Competencies ***" + s11, 3);
    OAViewObject oaviewobject = (OAViewObject)oapagecontext.getApplicationModule(oawebbean).findViewObject("RoleCompetenciesVO");
    oaviewobject.setMaxFetchSize(-1);
    oaviewobject.setWhereClauseParam(0, s11);
    oaviewobject.executeQuery();
    Debug.log(oapagecontext, this, "*** End LOV event ***", 3);
    String s4 = "";
    String s8 = "";
    OASubTabLayoutBean oasubtablayoutbean1 = (OASubTabLayoutBean)oawebbean.findIndexedChildRecursive("AddAssignmentSubTabLayout");
    if("Project".equals(s) && !oasubtablayoutbean1.isSubTabClicked(oapagecontext))
    OAViewObject oaviewobject1 = (OAViewObject)oapagecontext.getApplicationModule(oawebbean).findViewObject("AddNewAssignmentVO");
    s4 = (String)oaviewobject1.first().getAttribute("ProjectId");
    s8 = (String)oaviewobject1.first().getAttribute("ProjectNumber");
    Debug.log(oapagecontext, this, "*** lProjectId = " + s4, 3);
    Debug.log(oapagecontext, this, "*** lProjectNumber = " + s8, 3);
    if("Project".equals(s) && !oasubtablayoutbean1.isSubTabClicked(oapagecontext) && !StringUtils.isNullOrEmpty(s8))
    Debug.log(oapagecontext, this, "Delivery Assignment, Project Number is there but no Project Id", 3);
    if(s4 == null || s4.equals(""))
    ViewObject viewobject = oapagecontext.getApplicationModule(oawebbean).findViewObject("ObtainProjectId");
    if(viewobject == null)
    String s14 = "SELECT project_id FROM PA_PROJECTS_ALL WHERE segment1 =:1";
    viewobject = oaapplicationmodule.createViewObjectFromQueryStmt("ObtainProjectId", s14);
    viewobject.setWhereClauseParam(0, s8);
    viewobject.executeQuery();
    int j = viewobject.getRowCount();
    if(j != 1)
    Debug.log(oapagecontext, this, "Error : Project Number is Invalid or not unique", 3);
    OAException oaexception4 = null;
    oaexception4 = new OAException("PA", "PA_PROJECT_NUMBER_INVALID");
    oaexception4.setApplicationModule(oaapplicationmodule);
    throw oaexception4;
    oracle.jbo.Row row = viewobject.last();
    if(row != null)
    Object obj2 = row.getAttribute(0);
    if(obj2 != null)
    s4 = obj2.toString();
    if(s4 != null)
    oapagecontext.putTransactionValue("paProjectId", s4);
    if(oaapplicationmodule.findViewObject("AddNewAssignmentsVO") != null)
    oaapplicationmodule.findViewObject("AddNewAssignmentVO").first().setAttribute("ProjectId", s4);
    } else
    Debug.log(oapagecontext, this, "Error : No rows returned in Project Number query", 3);
    OAException oaexception5 = null;
    oaexception5 = new OAException("PA", "PA_PROJECT_NUMBER_INVALID");
    oaexception5.setApplicationModule(oaapplicationmodule);
    throw oaexception5;
    String s12 = "F";
    if(s4 != null && !s4.equals(""))
    String s13 = Security.checkUserPrivilege("PA_ASN_CR_AND_DL", "PA_PROJECTS", s4, oapagecontext, false);
    if("F".equals(s13))
    OAException oaexception3 = null;
    oaexception3 = new OAException("PA", "PA_ADD_DELIVERY_ASMT_SECURITY");
    oaexception3.setApplicationModule(oaapplicationmodule);
    Debug.log(oapagecontext, this, "ERROR:" + oaexception3.getMessage(), 3);
    throw oaexception3;
    OAViewObject oaviewobject2 = (OAViewObject)oapagecontext.getApplicationModule(oawebbean).findViewObject("AddNewAssignmentVO");
    Object obj = oaviewobject2.first().getAttribute("BillRateOverride");
    Object obj1 = oaviewobject2.first().getAttribute("BillRateCurrOverride");
    Object obj3 = oaviewobject2.first().getAttribute("MarkupPercentOverride");
    Object obj4 = oaviewobject2.first().getAttribute("DiscountPercentOverride");
    Object obj5 = oaviewobject2.first().getAttribute("TpRateOverride");
    Object obj6 = oaviewobject2.first().getAttribute("TpCurrencyOverride");
    Object obj7 = oaviewobject2.first().getAttribute("TpCalcBaseCodeOverride");
    Object obj8 = oaviewobject2.first().getAttribute("TpPercentAppliedOverride");
    Object obj9 = null;
    Object obj10 = null;
    Debug.log(oapagecontext, this, "in AddAssignmentsTopCO processFcstInfoRg(): getting the implementation options", 3);
    Object obj11 = oaviewobject2.first().getAttribute("BrRateDiscReasonCode");
    Object obj12 = oapagecontext.getTransactionValue("rateDiscReasonFlag");
    Object obj13 = oapagecontext.getTransactionValue("brOverrideFlag");
    Object obj14 = oapagecontext.getTransactionValue("brDiscountOverrideFlag");
    String s22 = oapagecontext.getParameter("BillRateRadioGroup");
    if("BRCurrencyRadioButton".equals(s22))
    Debug.log(oapagecontext, this, "BRCurrencyRadioButton chosen", 3);
    if(obj == null || obj1 == null)
    Debug.log(oapagecontext, this, "error", 3);
    OAException oaexception6 = new OAException("PA", "PA_CURR_BILL_RATE_REQUIRED");
    oaexception6.setApplicationModule(oaapplicationmodule);
    throw oaexception6;
    } else
    if("BRMarkupRadioButton".equals(s22))
    Debug.log(oapagecontext, this, "BRMarkup%RadioButton chosen", 3);
    if(obj3 == null)
    Debug.log(oapagecontext, this, "error", 3);
    OAException oaexception7 = new OAException("PA", "PA_MARKUP_PERCENT_REQUIRED");
    oaexception7.setApplicationModule(oaapplicationmodule);
    throw oaexception7;
    } else
    if("BRDiscountRadioButton".equals(s22))
    Debug.log(oapagecontext, this, "BRDiscount%RadioButton chosen", 3);
    if(obj4 == null)
    Debug.log(oapagecontext, this, "error", 3);
    OAException oaexception8 = new OAException(oapagecontext.getMessage("PA", "PA_DISCOUNT_PERCENT_REQUIRED", null));
    oaexception8.setApplicationModule(oaapplicationmodule);
    throw oaexception8;
    if("Y".equals(oapagecontext.getTransactionValue("paMass")) || "Admin".equals(s) || "Template".equals(s))
    Debug.log(oapagecontext, this, "Need not have this check for team templates ", 3);
    } else
    if(obj13 != null && obj13.equals("Y") && obj12 != null && obj12.equals("Y") && "BRCurrencyRadioButton".equals(s22) && StringUtils.isNullOrEmpty((String)obj11))
    Debug.log(oapagecontext, this, "error 1", 3);
    OAException oaexception9 = new OAException("PA", "PA_RATE_DISC_REASON_REQUIRED");
    oaexception9.setApplicationModule(oaapplicationmodule);
    throw oaexception9;
    if(obj14 != null && obj14.equals("Y") && obj12 != null && obj12.equals("Y") && "BRDiscountRadioButton".equals(s22) && StringUtils.isNullOrEmpty((String)obj11))
    Debug.log(oapagecontext, this, "error 2", 3);
    OAException oaexception10 = new OAException("PA", "PA_RATE_DISC_REASON_REQUIRED");
    oaexception10.setApplicationModule(oaapplicationmodule);
    throw oaexception10;
    Debug.log(oapagecontext, this, "*** Selected transfer price radio shr = " + s22, 3);
    oapagecontext.putTransactionValue("BROGroupSelected", s22);
    Debug.log(oapagecontext, this, "*** 1 :Selected bill rate radio = " + s22, 3);
    if(s22 != null)
    oapagecontext.putSessionValue("BROGroupSelected", s22);
    s22 = oapagecontext.getParameter("TransferPriceRadioGroup");
    Debug.log(oapagecontext, this, "*** Selected transfer price radio = " + s22, 3);
    if("TPCurrencyRadioButton".equals(s22))
    Debug.log(oapagecontext, this, "***TPCurrencyRadioButton chosen", 3);
    if(obj5 == null || obj6 == null)
    Debug.log(oapagecontext, this, "error", 3);
    OAException oaexception11 = new OAException("PA", "PA_CURR_RATE_REQUIRED");
    oaexception11.setApplicationModule(oaapplicationmodule);
    throw oaexception11;
    } else
    if("TPBasisRadioButton".equals(s22))
    Debug.log(oapagecontext, this, "***TPBasisRadioButton chosen", 3);
    if(obj7 == null || obj8 == null)
    Debug.log(oapagecontext, this, "error", 3);
    OAException oaexception12 = new OAException("PA", "PA_BASIS_APPLY_PERCENT_REQD");
    oaexception12.setApplicationModule(oaapplicationmodule);
    throw oaexception12;
    oapagecontext.putTransactionValue("TPORadioGroupSelected", s22);
    if(oaapplicationmodule.findViewObject("AddNewAssignmentVO").first().getAttribute("RoleId") != null)
    Debug.log(oapagecontext, this, "*** Role Id is + " + oaapplicationmodule.findViewObject("AddNewAssignmentVO").first().getAttribute("RoleId"), 3);
    if(oapagecontext.getParameter("SearchCompetencies") != null)
    String s2 = "OA.jsp?akRegionCode=PA_COMP_SEARCH_LAYOUT&akRegionApplicationId=275&paCallingPage=AddAssignment";
    oapagecontext.redirectImmediately(s2, true, "RP");
    OASubTabLayoutBean oasubtablayoutbean = (OASubTabLayoutBean)oawebbean.findIndexedChildRecursive("AddAssignmentSubTabLayout");
    if(s.equals("Project") && oasubtablayoutbean.isSubTabClicked(oapagecontext) && !StringUtils.isNullOrEmpty((String)oapagecontext.getTransactionValue("paProjectId")))
    String s5 = "PA_ASN_FCST_INFO_ED";
    String s9 = "F";
    s9 = Security.checkUserPrivilege(s5, "PA_PROJECTS", (String)oapagecontext.getTransactionValue("paProjectId"), oapagecontext, false);
    if(s9.equals("F"))
    Debug.log(oapagecontext, this, "Error : PA_ASN_FCST_INFO_ED previelge not found", 3);
    OAException oaexception2 = null;
    oaexception2 = new OAException("PA", "PA_NO_SEC_FIN_INFO");
    oaexception2.setApplicationModule(oaapplicationmodule);
    throw oaexception2;
    if(oapagecontext.getParameter("GoBtn") != null)
    if("Y".equals(oapagecontext.getTransactionValue("paMass")) && "0".equals(oapagecontext.getTransactionValue("paNumSelectedResources")))
    OAException oaexception = new OAException("PA", "PA_NO_RESOURCE_SELECTED");
    oaexception.setApplicationModule(oapagecontext.getRootApplicationModule());
    Debug.log(oapagecontext, this, "ERROR:" + oaexception.getMessage(), 3);
    throw oaexception;
    String s6 = "T";
    if(s.equals("Admin") && "Y".equals(oapagecontext.getTransactionValue("paMass")) && "1".equals(oapagecontext.getTransactionValue("paNumSelectedResources")))
    Debug.log(oapagecontext, this, "resource id[19] is " + (String)oapagecontext.getTransactionValue("paResourceId"), 3);
    if(oapagecontext.getTransactionValue("AdminSecurityChecked") == null)
    String s7 = Security.checkPrivilegeOnResource("-999", (String)oapagecontext.getTransactionValue("paResourceId"), SessionUtils.getResourceName((String)oapagecontext.getTransactionValue("paResourceId"), oapagecontext), "PA_ADM_ASN_CR_AND_DL", null, oapagecontext, false);
    if("F".equals(s7))
    OAException oaexception1 = new OAException("PA", "PA_ADD_ADMIN_ASMT_SECURITY");
    oaexception1.setApplicationModule(oapagecontext.getRootApplicationModule());
    Debug.log(oapagecontext, this, "ERROR:" + oaexception1.getMessage(), 3);
    throw oaexception1;
    if("SUBMIT_APPRVL".equals(oapagecontext.getParameter("AddAsgmtApplyAction")))
    oapagecontext.putTransactionValue("Save", "N");
    else
    oapagecontext.putTransactionValue("Save", "Y");
    String as[] = oaapplicationmodule.getApplicationModuleNames();
    String as1[] = oaapplicationmodule.getViewObjectNames();
    Debug.log(oapagecontext, this, "no of app module: " + as.length, 3);
    Debug.log(oapagecontext, this, "no of view: " + as1.length, 3);
    for(int i = 0; i < as.length; i++)
    Debug.log(oapagecontext, this, "app module: " + as, 3);
    for(int k = 0; k < as1.length; k++)
    Debug.log(oapagecontext, this, "app module: " + as1[k], 3);
    Debug.log(oapagecontext, this, "*** assignmentType = " + s, 3);
    Debug.log(oapagecontext, this, "*** projectId = " + oapagecontext.getTransactionValue("paProjectId"), 3);
    if("Project".equals(s) && !StringUtils.isNullOrEmpty((String)oapagecontext.getTransactionValue("paProjectId")) && !"Y".equals(oapagecontext.getParameter("paMass")))
    Debug.log(oapagecontext, this, "*** Setting default staffing owner for add delivery assignment -- projectId = " + oapagecontext.getTransactionValue("paProjectId"), 3);
    oaapplicationmodule.invokeMethod("setDefaultStaffingOwner");
    OAViewObject oaviewobject3 = (OAViewObject)oaapplicationmodule.findViewObject("RoleCompetenciesVO");
    oaviewobject3.setMaxFetchSize(0);
    oaviewobject3.setRangeSize(-1);
    oracle.jbo.Row arow[] = oaviewobject3.getAllRowsInRange();
    for(int l = 0; l < arow.length; l++)
    RoleCompetenciesVORowImpl rolecompetenciesvorowimpl = (RoleCompetenciesVORowImpl)oaviewobject3.getRowAtRangeIndex(l);
    Debug.log(oapagecontext, this, "roleCompetenciesVORowImpl" + rolecompetenciesvorowimpl, 3);
    rolecompetenciesvorowimpl.setPlsqlState((byte)0);
    oapagecontext.putTransactionValue("AddAssignmentInsertRowFlag", "N");
    oaapplicationmodule.getTransaction().commit();
    if("Y".equals(oapagecontext.getTransactionValue("paMass")) && !"1".equals(oapagecontext.getTransactionValue("paNumSelectedResources")))
    if(!"SUBMIT_APPRVL".equals(oapagecontext.getParameter("AddAsgmtApplyAction")))
    Debug.log(oapagecontext, this, "Save, Mass, NumSelectedResources>1", 3);
    Debug.log(oapagecontext, this, "work flow has been launched", 3);
    OADialogPage oadialogpage = new OADialogPage((byte)3, new OAException("PA", "PA_MASS_ASSIGNMENT_CONFIRM"), null, "OA.jsp?akRegionCode=PA_RESOURCE_LIST_LAYOUT&akRegionApplicationId=275&addBreadCrumb=N", null);
    oadialogpage.setRetainAMValue(false);
    oapagecontext.redirectToDialogPage(oadialogpage);
    return;
    Debug.log(oapagecontext, this, "SaveAndSubmit, Mass, NumSelectedResources>1", 3);
    putParametersOnSession(oapagecontext);
    int i1 = 0;
    int j1 = 0;
    String s21 = "SelectedResourceId";
    int l1 = Integer.parseInt(oapagecontext.getTransactionValue("paNumSelectedResources").toString());
    Debug.log(oapagecontext, this, "size of resourceArray = " + l1, 3);
    String as2[] = new String[l1];
    for(; !"END".equals(oapagecontext.getTransactionValue(s21.concat(Integer.toString(i1)))); i1++)
    if(oapagecontext.getTransactionValue(s21.concat(Integer.toString(i1))) != null)
    Debug.log(oapagecontext, this, "resource id = " + oapagecontext.getTransactionValue(s21.concat(Integer.toString(i1))).toString(), 3);
    as2[j1] = oapagecontext.getTransactionValue(s21.concat(Integer.toString(i1))).toString();
    j1++;
    SessionUtils.putMultipleParameters("paResourceId", as2, oapagecontext);
    Debug.log(oapagecontext, this, "redirect to Mass Submit for Approval page", 3);
    oapagecontext.redirectImmediately("OA.jsp?akRegionCode=PA_MASS_SUBMIT_LAYOUT&akRegionApplicationId=275&paCallingPage=MassAdd&paProjectId=" + oapagecontext.getTransactionValue("p_project_id"), false, "RP");
    return;
    if("RETURN_TO".equals(oapagecontext.getParameter("AddAsgmtApplyAction")))
    Debug.log(oapagecontext, this, "Return to Option Selected ", 3);
    String s15 = (String)oapagecontext.getTransactionValue("PrevPageUrl");
    int k1 = s15.indexOf("OA.jsp?");
    s15 = s15.substring(k1);
    Debug.write(oapagecontext, this, "*** RETURN_TO URL: " + s15, 3);
    oapagecontext.redirectImmediately(s15);
    } else
    if("ADD_ANOTHER".equals(oapagecontext.getParameter("AddAsgmtApplyAction")))
    Debug.log(oapagecontext, this, "Add Another Option Selected", 3);
    oaapplicationmodule.invokeMethod("resetAddNewAssignment");
    if(oaapplicationmodule.findViewObject("RoleCompetenciesVO") != null)
    oaapplicationmodule.findViewObject("RoleCompetenciesVO").clearCache();
    String s16;
    if(!s.equals("Project") && !s.equals("Admin"))
    s16 = "OA.jsp?akRegionCode=PA_ADD_ASSIGNMENTS_PAGE_LAYOUT&akRegionApplicationId=275&paProjectId=" + oapagecontext.getTransactionValue("paProjectId") + "&paAssignmentType=" + s + "&OA_SubTabIdx=0";
    else
    s16 = "OA.jsp?akRegionCode=PA_ADD_ASSIGNMENTS_PAGE_LAYOUT&akRegionApplicationId=275&paResourceId=" + oapagecontext.getTransactionValue("paResourceId") + "&paAssignmentType=" + s + "&OA_SubTabIdx=0";
    Debug.log(oapagecontext, this, "nextUrl " + s16, 3);
    if("Template".equals(s))
    oapagecontext.redirectImmediately(s16, true, "S");
    else
    oapagecontext.redirectImmediately(s16, false, "S");
    } else
    if("UPDATE_DETAILS".equals(oapagecontext.getParameter("AddAsgmtApplyAction")))
    Debug.log(oapagecontext, this, "Update Details Selected ", 3);
    String s17 = "";
    if("Staffed".equals(s))
    s17 = "ProjStaffedAsmt";
    else
    if("Admin".equals(s))
    s17 = "AdminAsmt";
    else
    if("Project".equals(s))
    s17 = "PersonStaffedAsmt";
    else
    if("Open".equals(s))
    s17 = "OpenAsmt";
    else
    if("Template".equals(s))
    s17 = "TemplateAsmt";
    String s19 = "OA.jsp?akRegionCode=PA_ASMT_LAYOUT&akRegionApplicationId=275&paProjectId=" + oapagecontext.getTransactionValue("paProjectId") + "&paAssignmentId=" + oapagecontext.getTransactionValue("wfOutAssignmentId") + "&paCalledPage=" + s17 + "&addBreadCrumb=RP";
    Debug.log(oapagecontext, this, "UPDATE_DETAILS: URL: " + s19, 3);
    oapagecontext.redirectImmediately(s19, false, "RP");
    if(s.equals("Staffed") || s.equals("Admin") || s.equals("Project"))
    String s18 = (String)oapagecontext.getTransactionValue("wfOutResourceId");
    String s20 = (String)oapagecontext.getTransactionValue("wfOutAssignmentId");
    Debug.log(oapagecontext, this, "outResourceId " + s18, 3);
    Debug.log(oapagecontext, this, "outAssignmentId " + s20, 3);
    if("SUBMIT_APPRVL".equals(oapagecontext.getParameter("AddAsgmtApplyAction")))
    if(s.equals("Staffed"))
    oapagecontext.redirectImmediately("OA.jsp?akRegionCode=PA_SUBMIT_ASMT_APR_LAYOUT&akRegionApplicationId=275&paAsgmtId=" + s20 + "&paResourceId=" + s18 + "&paProjectId=" + oapagecontext.getTransactionValue("paProjectId") + "&paAsgmtAprStatus=ASGMT_APPRVL_WORKING&paAssignmentType=" + s + "&paCallingPage=AddAssignment", false, "RP");
    return;
    oapagecontext.redirectImmediately("OA.jsp?akRegionCode=PA_SUBMIT_ASMT_APR_LAYOUT&akRegionApplicationId=275&paAsgmtId=" + s20 + "&paResourceId=" + s18 + "&paAsgmtAprStatus=ASGMT_APPRVL_WORKING&paAssignmentType=" + s + "&paCallingPage=AddAssignment", false, "RP");

    Hi Rani,
    As soon as the transaction is commited the methods in the VORowImpl Class are called.
    You can check in the VORowImpl class and search for the log messages.
    Thanks,
    Gaurav

  • Need help for understanding the behaviour of these 2 queries....

    Hi,
    I need your help for understanding the behaviour of following two queries.
    The requirement is to repeat the values of the column in a table random no of times.
    Eg. A table xyz is like -
    create table xyz as
    select 'A' || rownum my_col
    from all_objects
    where rownum < 6;
    my_col
    A1
    A2
    A3
    A4
    A5
    I want to repeat each of these values (A1, A2,...A5) multiple times - randomly decide. I have written the following query..
    with x as (select my_col, trunc(dbms_random.value(1,6)) repeat from xyz),
    y as (select level lvl from dual connect by level < 6)
    select my_col, lvl
    from x, y
    where lvl <= repeat
    order by my_col, lvl
    It gives output like
    my_col lvl
    A1     1
    A1     3
    A1     5
    A2     1
    A2     3
    A2     5
    A3     1
    A3     3
    A3     5
    A4     1
    A4     3
    A4     5
    A5     1
    A5     3
    A5     5
    Here in the output, I am not getting rows like
    A1     2
    A1     4
    A2     2
    A2     4
    Also, it has generated the same set of records for all the values (A1, A2,...,A5).
    Now, if I store the randomly-decided value in the table like ---
    create table xyz as
    select 'A' || rownum my_col, trunc(dbms_random.value(1,6)) repeat
    from all_objects
    where rownum < 6;
    my_col repeat
    A1     4
    A2     1
    A3     5
    A4     2
    A5     2
    And then run the query,
    with x as (select my_col, repeat from xyz),
    y as (select level lvl from dual connect by level < 6)
    select my_col, lvl
    from x, y
    where lvl <= repeat
    order by my_col, lvl
    I will get the output, exactly what I want ---
    my_col ....lvl
    A1     1
    A1     2
    A1     3
    A1     4
    A2     1
    A3     1
    A3     2
    A3     3
    A3     4
    A3     5
    A4     1
    A4     2
    A5     1
    A5     2
    Why the first approach do not generate such output?
    How can I get such a result without storing the repeat values?

    If I've understood your requirement, the below will achieve it:
    SQL> create table test(test varchar2(10));
    Table created.
    SQL> insert into test values('&test');
    Enter value for test: bob
    old   1: insert into test values('&test')
    new   1: insert into test values('bob')
    1 row created.
    SQL> insert into test values('&test');
    Enter value for test: terry
    old   1: insert into test values('&test')
    new   1: insert into test values('terry')
    1 row created.
    SQL> insert into test values('&test');
    Enter value for test: steve
    old   1: insert into test values('&test')
    new   1: insert into test values('steve')
    1 row created.
    SQL> insert into test values('&test');
    Enter value for test: roger
    old   1: insert into test values('&test')
    new   1: insert into test values('roger')
    1 row created.
    SQL> commit;
    Commit complete.
    SQL> select lpad(test,(ceil(dbms_random.value*10))*length(test),test) from test;
    LPAD(TEST,(CEIL(DBMS_RANDOM.VALUE*10))*LENGTH(TEST),TEST)
    bobbobbobbobbobbobbobbobbobbob
    terryterry
    stevestevesteve
    rogerrogerrogerrogerrogerrogerrogerrogerrogerYou can alter the value of 10 in the SQL if you want the potential for a higher number of names.
    Andy

  • Need help in understanding the error ORA-01843: not a valid month - ECX_ACT

    Hello All,
    We need help in understanding the Transaction Monitor -> Processing Message (error "ORA-01843: not a valid month - ECX_ACTIONS.GET_CONVERTED_DATE").
    And how to enable the log for Transaction Monitor -> Processing Logfile.
    Actually we are trying to import the Purchase Order XML (OAG) into eBusiness Suite via BPEL Process Manager using the Oracle Applications Adapter. The process is working fine with expected payload until it reaches the XML Gateway Transaction Monitor, where we are getting this error.
    thanks
    muthu.

    Hello All,
    We need help in understanding the Transaction Monitor -> Processing Message (error "ORA-01843: not a valid month - ECX_ACTIONS.GET_CONVERTED_DATE").
    And how to enable the log for Transaction Monitor -> Processing Logfile.
    Actually we are trying to import the Purchase Order XML (OAG) into eBusiness Suite via BPEL Process Manager using the Oracle Applications Adapter. The process is working fine with expected payload until it reaches the XML Gateway Transaction Monitor, where we are getting this error.
    thanks
    muthu.

  • Help required in understanding the flow of control in working with EJB 3.0

    *1. Can anyone help me in understanding the flow after getting an object of InitialContext in using Stateless/Stateful in EJB 3.0 from client i.e. what we are getting in the step Object ref=jndiContext.lookup("CalculateBean/Remote) .*
    *2. What is the use of INITIAL_CONTEXT_FACTORY*
    *3. PROVIDER_URL*
    *4. Java.naimg.factory.url.pkgs*
    *5. why org.jboss.naming and org.jnp.interfaces separated by semi colon.*
    *6. Why we dont require INITIAL_CONTEXT_FACTORY, PROVIDER_URL and Java.naming.factory.url.pkgs if the client is a web client.*
    Properties p=new Properties();
              p.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
              p.put(Context.PROVIDER_URL,"jnp://localhost:1099");
              p.put("java.naming.factory.url.pkgs","org.jboss.naming:org.jnp.interfaces");
              Context jndiContext = new InitialContext(p);
         Object ref = jndiContext.lookup("CalculateBean/Remote");
    Calculate c = (Calculate)ref;
    int sum=c.add(3,4);
    System.out.println(sum);
    Thanx in advance........

    Annotations can also be processed at run time using the core reflection API (java.lang.Class & java.lang.reflect.*), so you might want to explore down that path. I have no idea how JBoss actually does it, but annotation processing at build time and core reflection at runtime are the two most obvious possibilities.
    Bruce

  • Help with understanding the Home Folder plus User Accounts

    I just got the IMac (replacing an ageing...that is an understatement...Grape iMac from long ago) and this is my first go at the OSX. My previous iMac had OS9.2
    I am having a problem understanding the Home folder and the Users to a point. The concepts are fine, it is the changing of names that is the problem. When I first started the iMac and went through the set-up and finally looked at the file structure, there was the Home Folder with a name, which i guess was pre-entered during set-up since I did not enter it (lets call it JOE). There was also 1 User, JOE with all the iLife folders. Since I did not like the name, i went to the Systems Preferences, into Accounts and found that JOE is an Admin. So, I changed the name to, lets say BILL, who still is an Admin. I also changed some settings and made BILL the auto log account. OK so far I am happy. I go back to the HD and find that now there are 2 users (folders), BILL and JOE, and that the Home Folder is still named JOE butall the iLife files are now under BILL.
    So I went and also renamed the Home Folder to BILL, so everything looks fine. But when I restarted the iMac latter it lost all the settings (mouse, etc.) This is really getting confusing.
    Here is what I want to do (after some reasearch):
    I want to change the Short Name (JOE) but so far I have read that you can not do that. Where did this name come from (basically my first initial and my last name) because I don't want my Home Folder to be named that. I found somewhere that the only way to do that is an Erase and Install. I am willing to do that since I have a backup of all the iLife files on an external disk anyways and I have not put anything new yet.
    Can someone enlighten me as to what would be the best course of action....this Short Name thing is frustrating.
    iMac 20" 2.33MHz   Mac OS X (10.4.9)  

    Welcome To Discussions kapklo!
    First you need to sort out the extra Home folder issue, that was created by changing the Short Names.
    The info in one or more of the articles linked to below, will help you with that.
    Return to Default Desktop, Apparent "Loss" of Home Directory
    My home folder and desktop are different than before
    Recover from renaming your Home folder, authored by Dr Smoke
    Then you can change the Short Name using this Change Short Name The Easy Way.
    Or you could do an Erase & Install, making sure you enter your preferred Short Name, during the setup process.
    ali b

  • Help in understanding the MouseRotate Source code.(Source code attached)

    Hi
    I am trying to understand the code here in the class below. The description says MouseTranslate is a Java3D behavior object that lets users control the
    translation (X, Y) of an object via a mouse drag motion with the third mouse button (alt-click on PC). See MouseRotate for similar usage info I was able to locate the isAltDown() and isMetaDown conditions. But could not figure out where is the condition (evt.getButton() == MouseEvent.Button1) is being checked.
    I have spent too much time on this, any help is greatly appreciated.
    Thanking you
    Venkat
    package com.sun.j3d.utils.behaviors.mouse;
    * MouseTranslate is a Java3D behavior object that lets users control the
    * translation (X, Y) of an object via a mouse drag motion with the third
    * mouse button (alt-click on PC). See MouseRotate for similar usage info.
    public class MouseTranslate extends MouseBehavior {
        double x_factor = .02;
        double y_factor = .02;
        Vector3d translation = new Vector3d();
        private MouseBehaviorCallback callback = null;
         * Creates a mouse translate behavior given the transform group.
         * @param transformGroup The transformGroup to operate on.
        public MouseTranslate(TransformGroup transformGroup) {
         super(transformGroup);
         * Creates a default translate behavior.
        public MouseTranslate(){
         super(0);
         * Creates a translate behavior.
         * Note that this behavior still needs a transform
         * group to work on (use setTransformGroup(tg)) and
         * the transform group must add this behavior.
         * @param flags
        public MouseTranslate(int flags) {
         super(flags);
         * Creates a translate behavior that uses AWT listeners and behavior
         * posts rather than WakeupOnAWTEvent.  The behavior is added to the
         * specified Component. A null component can be passed to specify
         * the behavior should use listeners.  Components can then be added
         * to the behavior with the addListener(Component c) method.
         * @param c The Component to add the MouseListener
         * and MouseMotionListener to.
         * @since Java 3D 1.2.1
        public MouseTranslate(Component c) {
         super(c, 0);
         * Creates a translate behavior that uses AWT listeners and behavior
         * posts rather than WakeupOnAWTEvent.  The behaviors is added to
         * the specified Component and works on the given TransformGroup.
         * A null component can be passed to specify the behavior should use
         * listeners.  Components can then be added to the behavior with the
         * addListener(Component c) method.
         * @param c The Component to add the MouseListener and
         * MouseMotionListener to.
         * @param transformGroup The TransformGroup to operate on.
         * @since Java 3D 1.2.1
        public MouseTranslate(Component c, TransformGroup transformGroup) {
         super(c, transformGroup);
         * Creates a translate behavior that uses AWT listeners and behavior
         * posts rather than WakeupOnAWTEvent.  The behavior is added to the
         * specified Component.  A null component can be passed to specify
         * the behavior should use listeners.  Components can then be added to
         * the behavior with the addListener(Component c) method.
         * Note that this behavior still needs a transform
         * group to work on (use setTransformGroup(tg)) and the transform
         * group must add this behavior.
         * @param flags interesting flags (wakeup conditions).
         * @since Java 3D 1.2.1
        public MouseTranslate(Component c, int flags) {
         super(c, flags);
        }Rest of the code follows in the next post

        public void initialize() {
         super.initialize();
         if ((flags & INVERT_INPUT) == INVERT_INPUT) {
             invert = true;
             x_factor *= -1;
             y_factor *= -1;
         * Return the x-axis movement multipler.
        public double getXFactor() {
         return x_factor;
         * Return the y-axis movement multipler.
        public double getYFactor() {
         return y_factor;
         * Set the x-axis amd y-axis movement multipler with factor.
        public void setFactor( double factor) {
         x_factor = y_factor = factor;
         * Set the x-axis amd y-axis movement multipler with xFactor and yFactor
         * respectively.
        public void setFactor( double xFactor, double yFactor) {
         x_factor = xFactor;
         y_factor = yFactor;   
        public void processStimulus (Enumeration criteria) {
         WakeupCriterion wakeup;
         AWTEvent[] events;
         MouseEvent evt;
    //      int id;
    //      int dx, dy;
         while (criteria.hasMoreElements()) {
             wakeup = (WakeupCriterion) criteria.nextElement();
             if (wakeup instanceof WakeupOnAWTEvent) {
              events = ((WakeupOnAWTEvent)wakeup).getAWTEvent();
              if (events.length > 0) {
                  evt = (MouseEvent) events[events.length-1];
                  doProcess(evt);
             else if (wakeup instanceof WakeupOnBehaviorPost) {
              while (true) {
                  // access to the queue must be synchronized
                  synchronized (mouseq) {
                   if (mouseq.isEmpty()) break;
                   evt = (MouseEvent)mouseq.remove(0);
                   // consolodate MOUSE_DRAG events
                   while ((evt.getID() == MouseEvent.MOUSE_DRAGGED) &&
                          !mouseq.isEmpty() &&
                          (((MouseEvent)mouseq.get(0)).getID() ==
                        MouseEvent.MOUSE_DRAGGED)) {
                       evt = (MouseEvent)mouseq.remove(0);
                  doProcess(evt);
         wakeupOn(mouseCriterion);
        void doProcess(MouseEvent evt) {
         int id;
         int dx, dy;
         processMouseEvent(evt);
         if (((buttonPress)&&((flags & MANUAL_WAKEUP) == 0)) ||
             ((wakeUp)&&((flags & MANUAL_WAKEUP) != 0))){
             id = evt.getID();
    *         if ((id == MouseEvent.MOUSE_DRAGGED) && !evt.isAltDown() && evt.isMetaDown()) { *
              x = evt.getX();
              y = evt.getY();
              dx = x - x_last;
              dy = y - y_last;
              if ((!reset) && ((Math.abs(dy) < 50) && (Math.abs(dx) < 50))) {
                  //System.out.println("dx " + dx + " dy " + dy);
                  transformGroup.getTransform(currXform);
                  translation.x = dx*x_factor;
                  translation.y = -dy*y_factor;
                  transformX.set(translation);
                  if (invert) {
                   currXform.mul(currXform, transformX);
                  } else {
                   currXform.mul(transformX, currXform);
                  transformGroup.setTransform(currXform);
                  transformChanged( currXform );
                  if (callback!=null)
                   callback.transformChanged( MouseBehaviorCallback.TRANSLATE,
                                     currXform );
              else {
                  reset = false;
              x_last = x;
              y_last = y;
             else if (id == MouseEvent.MOUSE_PRESSED) {
              x_last = evt.getX();
              y_last = evt.getY();
         * Users can overload this method  which is called every time
         * the Behavior updates the transform
         * Default implementation does nothing
        public void transformChanged( Transform3D transform ) {
         * The transformChanged method in the callback class will
         * be called every time the transform is updated
        public void setupCallback( MouseBehaviorCallback callback ) {
         this.callback = callback;
    }

Maybe you are looking for