How to select domain OU for "Apply Network Settings" task sequence step, based on the ip address.

We are finally getting ready to migrate from SCCM 2007 to 2012 R2.
Our current setup has 5 site servers with five OSD setups with boot media and Windows 7 task sequences.
I want to move all that to one site with a single OSD W7 task sequence.
The current, "apply network settings", step adds the workstation to one of five different  OUs. The same with the "apply windows settings" step, we have five local admin passwords for five regions around the state.
I thought I might run five versions of each step and add a condition to each one that would only run if the machine was on the right subnet. Or the right Boundary group or maybe the right active directory site.
Currently I'm creating five boundary groups that I hope to detect by running a power script get-CmBoundaryGroup. Then apply the results maybe as a task sequence variable in the task steps options/Add Conditions.
Anybody have a better approach. Or alternate plan.

Are you integrated with MDT? If so, you can use customsettings.ini to put machines into specific OUs based on the DefaultGateway.
See these links for ideas:
https://scriptimus.wordpress.com/2011/05/10/mdt-2010-joining-a-domain/
http://deploymentbunny.com/2012/04/21/back-to-basic-customsettings-ini-explained/
Jeff

Similar Messages

  • Domain join account for apply network settings step in task sequence

    Hi Guys,
    Just want to confirm that the domain join account credentials is in clear text during the winpe phrase. I understand we can a user account with just domain join access but it still a security breach for us. Is there an alternative? We are using SCCM 2012
    R2. Thanks in advance.

    Hi,
    The article
    Task Sequence Steps in Configuration Manager shows the Apply Network Settings task sequence step store the specified values in the appropriate answer file format for use by Windows Setup when the
    Setup Windows and ConfigMgr task sequence step is run. The account credentials stored in answer file should be in plain text.
    If you are still worried about this, you could create a custom answer file to join domain. The article
    Configure Settings in an Answer File in Image Configuration Editor shows the credentials are stored in plain text in the answer file.
    Best Regards,
    Joyce

  • Apply network settings join domain issues

    I create a default task sequence in CM 2012 R2. On the apply network settings there is the option to join the domain. If I select to join to the domain, there is an account to set.  I set the account and test the account (test button right there) and
    the test to ad succeeds.
    I then apply and close the task sequence.  if you go back into the task sequence, and check the account to join domain, the password is now much longer than the original (only dots shown of course) and if I click test, the test FAILS.
    I am not sure if that is the expected behavior or the root of my issue. 
    My issue is my machines are failing to join the domain.  Under Windows\Pather\UnattendGC, I see a log file with the error, failed to join domain, error code 5 (something like that).  When I look up that error, I see it means access denied. 
    Any ideas?

    The task sequence will never show the correct length of the password for security reasons, so that's the expected behavior.
    Could you share what permissions you've given that account?
    These are the permissions that I use:
    Scope: This Object and all descendant objects
    - Create Computer Objects
    - Delete Computer Objects
    Scope: Descendant Computer Objects
    - Read All Properties
    - Write All Properties
    - Read Permissions
    - Modify Permissions
    - Change Password
    - Reset Password
    - Validated write to DNS host name
    - Validated write to services principal name
    This will work for every kind of deployment scenario that you may have to use the account in.
    Regards,
    Nickolaj Andersen | www.scconfigmgr.com | @Nickolaja

  • How to select XML value for a namespace when multiple namespaces

    Hi,
    I'm a beginner with this, but I'm doing well with your help from this forum in a recent post selecting out all the detail from my xml
    out into my oracle relational tables. Stumped, though, on how to select a value for xml tag value referenced by a defined namespace.
    Version, XML, what I want to select, and attempted sql is below. Thanks in advance!
    select * from V$VERSION
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
    PL/SQL Release 11.2.0.2.0 - Production
    CORE 11.2.0.2.0 Production
    TNS for Solaris: Version 11.2.0.2.0 - Production
    NLSRTL Version 11.2.0.2.0 - Production
    drop table TRANSCRIPT;
    create table TRANSCRIPT (
    CONTENT xmltype
    <?xml version="1.0" encoding="UTF-8"?>
    <arb:AcademicRecordBatch xmlns:arb="urn:org:pesc:message:AcademicRecordBatch:v1.0.0">
      <hst:HighSchoolTranscript xmlns:hst="urn:org:pesc:message:HighSchoolTranscript:v1.0.0" xmlns:ct="http://ct.transcriptcenter.com">
       <TransmissionData>
          <DocumentID>2013-01-02T09:06:15|D123456789</DocumentID>
       </TransmissionData>
       <Student>
                <Person>
                    <Name>
                        <FirstName>John</FirstName>
                        <LastName>Doe</LastName>                   
                    </Name>
                </Person>
                <AcademicRecord> 
                    <AcademicSession>
                        <Course>
                            <CourseTitle>KEYBOARD 101</CourseTitle>
                            <UserDefinedExtensions>
                              <ct:TranscriptExtensions>
                                 <NCESCode>01001E010456</NCESCode>
                                 <CourseRigor>1</CourseRigor>
                              </ct:TranscriptExtensions>
                          </UserDefinedExtensions>
                        </Course>
                        <Course>
                            <CourseTitle>SCIENCE 101</CourseTitle>
                            <UserDefinedExtensions>
                              <ct:TranscriptExtensions>
                                 <NCESCode>01001E010457</NCESCode>
                                 <CourseRigor>2</CourseRigor>
                              </ct:TranscriptExtensions>
                          </UserDefinedExtensions>                       
                        </Course>
                    </AcademicSession>
                    <AcademicSession>
                        <Course>
                            <CourseTitle>MATH 201</CourseTitle>
                            <UserDefinedExtensions>
                              <ct:TranscriptExtensions>
                                 <NCESCode>01001E010458</NCESCode>
                                 <CourseRigor>2</CourseRigor>
                              </ct:TranscriptExtensions>
                          </UserDefinedExtensions>                                 
                        </Course>
                    </AcademicSession>
             </AcademicRecord>
       </Student>
      </hst:HighSchoolTranscript>
    </arb:AcademicRecordBatch>I want to be able to select the NESCODE associated to each coursetitle (01001E010456, 01001E010457, 01001E010458), with NESCode defined by namespace, but getting out NULL.
    DOCUMENTID     LASTNAME     COURSETITLE     NCESCODE
    2013-01-02T09:06:15|D123456789     Doe     KEYBOARD 101     
    2013-01-02T09:06:15|D123456789     Doe     SCIENCE 101     
    2013-01-02T09:06:15|D123456789     Doe     MATH 201     
    My SQL is below. You'll see where I commented out a couple failed alternatives too. Thanks again in advance for any guidance.
       select x0.DocumentID
             ,x1.LastName
             , x3.CourseTitle
             ,x3.NCESCode
      from TRANSCRIPT t
         , xmltable(                                                                                   
             xmlnamespaces(
               'urn:org:pesc:message:AcademicRecordBatch:v1.0.0' as "ns0"
             , 'urn:org:pesc:message:HighSchoolTranscript:v1.0.0' as "ns1"
            --, 'http://ct.transcriptcenter.com'                               as "ns1b" 
          , '/ns0:AcademicRecordBatch/ns1:HighSchoolTranscript' 
            passing t.content
            columns DocumentID       varchar2(40) path 'TransmissionData/DocumentID'
                       , Student xmltype      path 'Student'     
          ) x0
       , xmltable(
            '/Student'
            passing x0.Student
            columns LastName varchar2(20) path 'Person/Name/LastName'                       
                        ,AcademicRecord   xmltype      path 'AcademicRecord' 
          ) x1          
       , xmltable(
            '/AcademicRecord/AcademicSession' 
            passing x1.AcademicRecord
            columns GradeLevel varchar2(20) path 'StudentLevel/StudentLevelCode'
                  , Courses      xmltype      path 'Course'
          ) x2
              , xmltable(
              xmlnamespaces('http://ct.transcriptcenter.com'  as "ns2b")
              , '/Course'
            passing x2.Courses
            columns CourseTitle varchar2(40) path 'CourseTitle'
                         ,NCESCode  varchar2(20) path 'UserDefinedExtensions/ns2b:ct/NCESCode'
                         --,NCESCode  varchar2(20) path 'UserDefinedExtensions/ns2b:ct/TranscriptExtensions/NCESCode'                     
          ) x3
               

    <<I'm assuming there is more to your XML than you showed, since
    StudentLevel/StudentLevelCode
    is not in the XML, but is in your query. >>
    Yes, to simplify, I left out some of the additional XML data, which is typically present, sorry for any confusion. I should have removed those references to that data in my example which was failing to retrieve the NCESCode data which was denoted by that namespace.
    Thank you very much! Your correction worked. I was not understanding until your correction how to properly reference in the XPATH for that namespace value. I'm a newbie at this, and this is my second post. But I've been able to populate quite a few relational tables and that was the first of several namespace tags I will have to deal with next, and with that help, I should be good with that syntax now.
    Thanks again for your help on this.

  • (OSD) : Apply Network Settings Step in SCCM2012R2 Task Sequence

    Have a specific question around the "Apply Network Settings Step". What is the exact timeout period for this step? Essentially, I have seen USB Ethernet dongles fail to allow systems to become joined to the domain, and it looks like it is relate
    to the timing for enumeration. I want to specifically find out how long the Apply Network Setting step will attempt to run (so that a newly deployed OS can attempt to join the domain). Does anyone have this answer? Is there an option to extend the time the
    step runs?
    Thanks in advance

    I recently had some NIC driver issues and some devices failed to join the domain. These task sequences typically took 15 minutes longer to complete than successful task sequences. That would suggest that it gives up and fails that step after approx. 15 mins.
    Gerry Hampson | Blog:
    www.gerryhampsoncm.blogspot.ie | LinkedIn:
    Gerry Hampson | Twitter:
    @gerryhampson

  • Having horrible service with 4GLTE I have had 3G for several weeks (I am not the only person I know having this problem), I have reset my network settings and it did not resolve the issue.  I am also unable to send SMS and text messages without them eithe

    Having horrible service with 4GLTE I have had 3G for several weeks (I am not the only person I know having this problem), I have reset my network settings and it did not resolve the issue.  I am also unable to send SMS and text messages without them either failing or not sending at all.  Is there an outage in the Cleveland, Ohio area (zip codes 44129, 44134, 44137) or anything else I can do to resolve this issue?

    Not that I'm a Verizon employee, but I have experience in the field. An LTE tower will only extend up to, on a perfect day, with no elevation, 6-7 miles. On a typical day, you will be lucky at four (4) miles. The three ZIP codes you've given are all within about a 12 mile radius. That would mean that 2-3 towers are currently down at the same time, and Verizon would know about it within the hour. Being it's Cleveland, I'm sure they would receive numerous calls regarding an outage of that size.
    My point is that if you're having issues in all three ZIP codes, chances are it's a phone issue. If you're handset is simply not receiving LTE, but still receiving 3G, that would signify a SIM card issue. You need to get your SIM card replaced.

  • When i select an event for move to trash, it doesn't appear in the trash to be emptied. where is it?

    I have iMovie 10.0.4. When I select an event for 'move to trash' it doesn't appear in the trash to be emptied there. Where is it?

    Thanks for the reply, have checked and that seems to be the problem, I have plugged in my ipad and the missing app has appeared.

  • Bought 4th Gen 3TB TC - streaming TV over the internet is now so slow and now is constantly buffering.  It seems the Airport Utility is always 'searching for new networks' - don't know if this is the problem.  It's not the internet speed as checked that.

    Bought 4th Gen 3TB TC - streaming TV over the internet is now so slow and now is constantly buffering.  It seems the Airport Utility is always 'searching for new networks' - don't know if this is the problem.  It's not the internet speed as checked that.  I took my old router upstairs and was streaming TV via my ipad seamlessly - the same program via the TC was constantly buffering.
    I just expected to be able to plug in the TC, so a simple set-up and experience wireless both upstairs and downstairs in my house.  For some reason the range is low and speed veru disappointing.
    I am far from being an IT expert but I would welcome advice about setting up this TC so we can enjoy the product as it was designed.  Please HELP!

    No silver bullet........but my suggestions may drive you in the right direction.
    1.  Unplug the power cable from the TC and wait 10-15 minutes before powering back up.   Seriously wait!
          Proceed to #2 if this dosen't help.
    2.  Unplug the power cable from the TC, ubplug the power cable from your Broadband Modem (assuming it's a cable modem), disconnect ethernet, and cable from modem. 
    2a.  Wait 10-15 minutes then re-connect cable, ethernet, and power back to modem (your modem should power up unless you have a power switch)  wait for all the modem lights to come on EXCEPT activity.
    2b.  Connect ethernet from modem to TC, and plug in the power cable to TC.
          Proceed to #3 if this dosen't help.
    3.  Reconfigure the TC.........Read here........http://support.apple.com/kb/HT3728
    All really simple to do....if you need additional help let me (us) know.

  • How can I reinstall iphoto for OSX 10.5.8 I had to delete the application

    How can I reinstall iphoto for OSX 10.5.8 I had to delete the application, and I can't find how to reinstall

    If your computer came with iLife pre-installed, then you will find iPhoto on one of your original installer discs.
    If you purchased iLife then you can restore it from the iLife DVD you received.

  • How do i verify my icloud account if i no longer have access to the email address they want me to verify it with??

    how do i verify my icloud account if i no longer have access to the email address they want me to verify it with??

    Go to http://appleid.apple.com and click 'Manage your account'. You will be able to change the non-Apple email address you use as a login. You will then need to log out and in again on all your devices.

  • Maintenance windows applies only to task sequences doesn't work

    Problem:
    SCCM 2012 R2 CU4
    Task sequence deployment run outside maintenance windows when the maintenance windows is set to apply only to task sequences.
    When the maintenance windows is set to apply to All deployments, the task sequence deployment run inside maintenance windows as expected.
    The maintenance task defined was as:
    Name: Maintenance Windows of Collection Coll_A
    Time: 10:30am to 06:00am
    Date: 20th March 2015
    Apply this schedule to: Task Sequences
    The task sequence defined was as:
    Deployed to Collection Coll_A
    Time: Run as soon as possible
    The task sequence run at 9:48am on a workstation that is member of Coll_A.
    There aren't other maintenances windows on others collections.
    Below the workstation's serviceWindowsManager.log:
    https://onedrive.live.com/redir?resid=BFBF530F33D996FD!123&authkey=!AI0dFPZ89XCL7xs&ithint=file%2clog

    When was the client added to the collection? Was it able to retrieve those MW policies before it received the TS?
    Torsten Meringer | http://www.mssccmfaq.de
    1_the client was added at the 9:30am.
    2_Yes it is.
    I have done another test and the result is the same:
    _ first setting up the maintenance windows in Coll_A,
    _ then insert the client in Coll_A and force a machine policy evaluation
    _then deploy the task sequence in collection Coll_A

  • Failed to load class properties and qualifiers for class BDD_UsePackage in task sequence. 0x80041002

    Following situation. In SCCM we have one Standalone Primray Site Server and two Site Server. The two site server are also SMS Provider. MDT 2012 was installed on all three Servers and the Config Manager Integration was run. When starting the Console
    on any of this server and editing an MDT Task Sequence, it occasionally pops up an error "An error occured when loading the task sequence". TaskSequenceProvider.log File throws a lot of errors:
    [PID: 2824] Invoking method SMS_TaskSequence.LoadFromXml TaskSequenceProvider 20.06.2012 10:28:50 4916 (0x1334)
    Failed to load class properties and qualifiers for class BDD_UsePackage in task sequence. 0x80041002 (2147749890) TaskSequenceProvider 20.06.2012 10:28:50 4916 (0x1334)
    Failed to load node Use Toolkit Package from XML into WMI 0x80041002 (2147749890) TaskSequenceProvider 20.06.2012 10:28:50 4916 (0x1334)
    Failed to load children steps for node "Applikation" from XML 0x80041002 (2147749890) TaskSequenceProvider 20.06.2012 10:28:50 4916 (0x1334)
    Failed to load children steps for node "" from XML 0x80041002 (2147749890) TaskSequenceProvider 20.06.2012 10:28:50 4916 (0x1334)
    Failed to load XML for the task sequence into WMI 0x80041002 (2147749890) TaskSequenceProvider 20.06.2012 10:28:50 4916 (0x1334)
    [PID: 2824] Done with method SMS_TaskSequence.LoadFromXml TaskSequenceProvider 20.06.2012 10:28:50 4916 (0x1334)
    Tried removing the integration on all SMS Provider Machines and readded them. It does not make a differenence. Does anyone know if MDT supports the use of multiple SMS Providers? When I only use one Provider and deinstall the other two, it works ok.

    Some more info from the log files:
    TaskSequenceProvider.log
    [1680680 PID:5228] Initializing provider for namespace root\sms\site_P01 TaskSequenceProvider 20.06.2012 10:51:38 4424 (0x1148)
    [1680680  PID:5228] Initialization of provider for namespace root\sms\site_P01 succeeded TaskSequenceProvider 20.06.2012 10:51:38 4424 (0x1148)
    [PID: 5228] Invoking method SMS_TaskSequence.ExportXml TaskSequenceProvider 20.06.2012 10:51:38 4424 (0x1148)
    Failed to load class properties and qualifiers for class BDD_UsePackage in task sequence. 0x80041002 (2147749890) TaskSequenceProvider 20.06.2012 10:51:38 4424 (0x1148)
    Failed to export task sequence to XML 0x80041002 (2147749890) TaskSequenceProvider 20.06.2012 10:51:38 4424 (0x1148)
    [PID: 5228] Done with method SMS_TaskSequence.ExportXml TaskSequenceProvider 20.06.2012 10:51:38 4424 (0x1148)
    Setting status complete:  status code = 0x80041002; Failed to load class properties and qualifiers for class BDD_UsePackage in task sequence. TaskSequenceProvider 20.06.2012 10:51:38 4424 (0x1148)
    [PID: 5228] Invoking method SMS_TaskSequence.LoadFromXml TaskSequenceProvider 20.06.2012 10:51:38 4424 (0x1148)
    Failed to load class properties and qualifiers for class BDD_UsePackage in task sequence. 0x80041002 (2147749890) TaskSequenceProvider 20.06.2012 10:51:38 4424 (0x1148)
    Failed to load node Use Toolkit Package from XML into WMI 0x80041002 (2147749890) TaskSequenceProvider 20.06.2012 10:51:38 4424 (0x1148)
    Failed to load children steps for node "Applikation" from XML 0x80041002 (2147749890) TaskSequenceProvider 20.06.2012 10:51:38 4424 (0x1148)
    Failed to load children steps for node "" from XML 0x80041002 (2147749890) TaskSequenceProvider 20.06.2012 10:51:38 4424 (0x1148)
    Failed to load XML for the task sequence into WMI 0x80041002 (2147749890) TaskSequenceProvider 20.06.2012 10:51:38 4424 (0x1148)
    [PID: 5228] Done with method SMS_TaskSequence.LoadFromXml TaskSequenceProvider 20.06.2012 10:51:38 4424 (0x1148)
    Setting status complete:  status code = 0x80041002; Failed to load class properties and qualifiers for class BDD_UsePackage in task sequence. TaskSequenceProvider 20.06.2012 10:51:38 4424 (0x1148)
    SMS Provider logs the following:
    CExtUserContext::EnterThread : User=A2\trth1 Sid=0x0105000000000005150000001BB949E9D7F6AADBC3309AA56BAB0000 Caching IWbemContextPtr=0000000005777900 in Process 0x9f8 (2552) SMS Provider 20.06.2012 10:51:47 3008
    (0x0BC0)
    Context: SMSAppName=SMS Administrator Console SMS Provider 20.06.2012 10:51:47 3008 (0x0BC0)
    Context: MachineName=vswlieca2146.A2.loc SMS Provider 20.06.2012 10:51:47 3008 (0x0BC0)
    Context: UserName=A2\trth1 SMS Provider 20.06.2012 10:51:47 3008 (0x0BC0)
    Context: ObjectLockContext=fdf8ab87-cf50-43bd-a48a-d5bb99c8034f SMS Provider 20.06.2012 10:51:47 3008 (0x0BC0)
    Context: ApplicationName=Microsoft.ConfigurationManagement.exe SMS Provider 20.06.2012 10:51:47 3008 (0x0BC0)
    Context: ApplicationVersion=5.0.0.0 SMS Provider 20.06.2012 10:51:47 3008 (0x0BC0)
    Context: LocaleID=MS\0x409 SMS Provider 20.06.2012 10:51:47 3008 (0x0BC0)
    Context: __ProviderArchitecture=32 SMS Provider 20.06.2012 10:51:47 3008 (0x0BC0)
    Context: __RequiredArchitecture=0 (Bool) SMS Provider 20.06.2012 10:51:47 3008 (0x0BC0)
    Context: __ClientPreferredLanguages=en-US,en SMS Provider 20.06.2012 10:51:47 3008 (0x0BC0)
    Context: __GroupOperationId=590802 SMS Provider 20.06.2012 10:51:47 3008 (0x0BC0)
    Context: __WBEM_CLIENT_AUTHENTICATION_LEVEL=6 SMS Provider 20.06.2012 10:51:47 3008 (0x0BC0)
    CExtUserContext : Set ThreadLocaleID OK to: 1033 SMS Provider 20.06.2012 10:51:47 3008 (0x0BC0)
    CSspClassManager::PreCallAction, dbname=CM_P01 SMS Provider 20.06.2012 10:51:47 3008 (0x0BC0)
    ExecMethodAsync : SMS_ObjectLock::ReleaseLocks SMS Provider 20.06.2012 10:51:47 3008 (0x0BC0)
    Requested class =SMS_ObjectLock SMS Provider 20.06.2012 10:51:47 3008 (0x0BC0)
    Requested num keys =0 SMS Provider 20.06.2012 10:51:47 3008 (0x0BC0)
    CExtProviderClassObject::DoExecuteMethod ReleaseLocks SMS Provider 20.06.2012 10:51:47 3008 (0x0BC0)
    CSspSEDO::ReleaseLocks: ********** Releasing SEDO Lock for object SMS_TaskSequencePackage.PackageID="P010013A" for user A2\trth1. ********** SMS Provider 20.06.2012 10:51:47 3008 (0x0BC0)
    CExtUserContext::LeaveThread : Releasing IWbemContextPtr=91715840 SMS Provider 20.06.2012 10:51:47 3008 (0x0BC0)

  • How to select a row for update values, Using CTEs or suitable method

    HI All,
    I have a table as claim_data as below.
    claim_id   
    amount         change_monthkey
             created_monthkey
             ord
    54511      
    300            201304         
             201304          
              1
    54511      
    0              201305         
             201304          
              2
    120301     
    250            201502         
             201502          
              1
    120624     
    150            201502         
             201502          
              1
    120624     
    0              201503    
                  201502          
              2
    I want to isolate rows which appear in the table and do a update using below query ( This query is already in a procedure, so I just looking for a suitable way to modify it to support my task )
    In the above e.g.  ONLY row containing claim_id = 120301 needs to update (amount  as updated_amount)
    I use following query, but it update other rows as well, I want a suitable query only to capture rows of nature claim_id = 120301 and do this update? Is there any functions that I could use to facilitate my task??
    select
         a.claim_id
        , a.Created_MonthKey
        , a.Change_MonthKey
        , a.amount - ISNULL(b.amount,0.00) as amount_movement
        ,a.amount  as updated_amount   --- >> I need help here??
        FROM claim_data a
    LEFT JOIN claim_data b
        ON a.claim_id = b.claim_id
        AND b.Ord = a.Ord - 1
    Thanks
    Mira

    Please follow basic Netiquette and post the DDL we need to answer this. Follow industry and ANSI/ISO standards in your datC1. You should follow ISO-11179 rules for naming data elements. You do not know this IT standard.
    You should follow ISO-8601 rules for displaying temporal datC1. We need to know the data types, keys and constraints on the table. Avoid dialect in favor of ANSI/ISO Standard SQL. 
    And you need to read and download the PDF for: 
    https://www.simple-talk.com/books/sql-books/119-sql-code-smells/
    >> I have a table AS claim_data AS below. << 
    Thanks to your lack of netiquette, we have no name, no DDL, no keys and have to re-type the raw data into SQL, guess at everything! Does your boss treat you with the same contempt? 
    Think about how silly “_data” is AS an attribute property! What tables do you have without an data in them? You had to give this meta-data in 1970's operating systems, FORTRAN compilers, etc. but we do not do this today. I see you use “A”, “B”, etc for table
    aliases This is the name of the disk or tape drive in a 1970 computer! In SQL we use helpful, meaningful table aliases so code is easier to maintain. I see you also use the old punch card trick of putting a comma at the front of each line of code. 
    The column named “ord” is a mathematical fiction for ordinal sets. I think you meant to use it as a non-relational sequential number to let you keep writing 1970's COBOL is T-SQL. We have not used the old Sybase ISNULL() since we got COALESCE() in SQL-92. They
    are actually different. 
    First, let's post what you should have posted if you followed forum rules: 
    CREATE TABLE Claims
    (claim_id CHAR(5) NOT NULL,
     claim_amount DECIMAL (8,2) NOT NULL
     CHECK (claim_amount >= 0.00),
     change_month_name CHAR(10) NOT NULL
     REFERENCES Month_Period(month_name),
     creation_month_name CHAR(10) NOT NULL
     REFERENCES Month_Period(month_name),
     ord INTEGER NOT NULL, -- NO!! Awful design! 
     PRIMARY KEY (claim_id, ord)); --required by definition
    Since SQL is a database language, we prefer to do look ups and not calculations. They can be optimized while temporal math messes up optimization. A useful idiom is a report period calendar that everyone uses so there is no way to get disagreements in the DML.
    The report period table gives a name to a range of dates that is common to the entire enterprise. 
    CREATE TABLE Month_Periods
    (month_name CHAR(10) NOT NULL PRIMARY KEY
     CHECK (month_name LIKE '[12][0-9][0-9][0-9]-[01][0-9]-00'),
     month_start_date DATE NOT NULL,
     month_end_date DATE NOT NULL,
     CONSTRAINT date_ordering
     CHECK (month_start_date <= month_end_date),
    etc);
    These report periods can overlap or have gaps. I like the MySQL convention of using double zeroes for months and years, That is 'yyyy-mm-00' for a month within a year and 'yyyy-00-00' for the whole year. The advantages are that it will sort with the ISO-8601
    data format required by Standard SQL and it is language independent. It has been proposed for the Standard, but is not yet part of it. The regular expression pattern for validation is simple. 
    INSERT INTO Claims  -- a mess! 
    VALUES
    ('054511', 300.00, '2013-04-00', '2013-04-00', 1)
    ('054511', 0.00, '2013-05-00', '2013-04-00', 2),
    ('120301', 250.00, '2015-02-00', '2015-02-00', 1),
    ('120624', 150.00, '2015-02-00', '2015-02-00', 1),
    ('120624', 0.00, '2015-03-00', '2015-02-00', 2);
    Now, throw this mess out. It looks like your repeat the claim creation date over and over and over. It looks like you crammed a claim creation and a claim history together in one table. 
    >> I want to isolate rows which appear in the table and do a update using below query (This query is already in a procedure, so I just looking for a suitable way to modify it to support my task). 
    In the above e.g. ONLY row containing claim_id = '120301' needs to update (amount AS updated_amount)
    >> I use following query, but it update other rows as well, I want a suitable query only to capture rows of nature claim_id = '120301' and do this update? <<
    No. SQL is set oriented so an update applies to the whole table. You can filter out rows in a WHERE clause. 
    CREATE TABLE Claims
    (claim_id CHAR(5) NOT NULL PRIMARY KEY,
     claim_amount DECIMAL (8,2) NOT NULL
     CHECK (claim_amount >= 0.00),
    claim_creation_month_name CHAR(10) NOT NULL
     REFERENCES Month_Period(month_name));
    See how this works? 
    INSERT INTO Claims  -- a mess! 
    VALUES
    ('054511', 300.00, '2013-04-00'),
    ('120301', 250.00, '2015-02-00'),
    ('120624', 150.00, '2015-02-00');
    Normalize the table: 
    CREATE TABLE Claim_Changes
    (claim_id CHAR(5) NOT NULL 
      REFERENCES Claims(claim_id)
      ON DELETE CASCADE,
     change_month_name CHAR(10) NOT NULL
      REFERENCES Month_Period(month_name),
     PRIMARY KEY (claim_id, change_month_name),
     change_amount DECIMAL (8,2) NOT NULL
     CHECK (change_amount >= 0.00)
    INSERT INTO Claims_Changes
    VALUES
    ('054511', 0.00, '2013-05-00'),
    ('120624', 0.00, '2015-03-00');
    Now you just add another change row to the history. There is no update. If you want to the delta and so forth, use LAG() and other window functions. 
    --CELKO-- Books in Celko Series for Morgan-Kaufmann Publishing: Analytics and OLAP in SQL / Data and Databases: Concepts in Practice Data / Measurements and Standards in SQL SQL for Smarties / SQL Programming Style / SQL Puzzles and Answers / Thinking
    in Sets / Trees and Hierarchies in SQL

  • How to select same font and apply auto kerning?

    How to select all text frames with same font (for example 'NewCenturySchlbk-Roman') and apply auto kerning?
    Thanks.

    For all opened documents:
    for (i = 0; i < app.documents.length; i++) {
        var targetDocument = app.documents[i];
        activeDocument = targetDocument;
        var docRef = app.activeDocument;
        for (var w = 0; w < docRef.textFrames.length; w++) {
            var textRef = docRef.textFrames[w];
            if (textRef.textRange.characterAttributes.textFont == textFonts.getByName('NewCenturySchlbk-Italic')) {
                textRef.textRange.characterAttributes.kerningMethod = AutoKernType.AUTO;
    redraw();

  • How does select stmt with for all entries uses Indexes

    Hello all,
    I goes through a number of documents but still confused how does select for all entries uses indexes if fields are not in sequences. i got pretty much the same results if i take like two cases on Hr tables HRP1000 and HRP1001(with for all entries based upon hrp1000). Here is the sequence of index fields on hrp1001 (MANDT, OTYPE, OBJID, PLVAR, RSIGN, RELAT, ISTAT, PRIOX, BEGDA, ENDDA, VARYF, SEQNR). in second case objid field is in sequence as in defined Index but i dont see significant increase in field even though the number of records are around 30000. My question is does it make a differrence to use field sequence (same as in table indexes) in comparison to redundant field sequence (not same as defined in table indexes), secondly how we can ge tto know if table index is used in Select for entries query i tried Explain in ST05 but its not clear if it uses any index at all in hrp1001 read.
    here is the sample code i use to get test results.
    test case 1
    REPORT  zdemo_perf_select.
    DATA: it_hrp1000 TYPE STANDARD TABLE OF hrp1000 WITH HEADER LINE.
    DATA: it_hrp1001 TYPE STANDARD TABLE OF hrp1001 WITH HEADER LINE.
    DATA: it_hrp1007 TYPE STANDARD TABLE OF hrp1007 WITH HEADER LINE.
    DATA: it_pa0000 TYPE STANDARD TABLE OF pa0000 WITH HEADER LINE.
    DATA: it_pa0001 TYPE STANDARD TABLE OF pa0001 WITH HEADER LINE.
    DATA: it_pa0002 TYPE STANDARD TABLE OF pa0002 WITH HEADER LINE.
    DATA: it_pa0105_10 TYPE STANDARD TABLE OF pa0105 WITH HEADER LINE.
    DATA: it_pa0105_20 TYPE STANDARD TABLE OF pa0105 WITH HEADER LINE.
    DATA: t1 TYPE timestampl,
          t2 TYPE timestampl,
          t3 TYPE timestampl 
    SELECT * FROM hrp1000 CLIENT SPECIFIED  INTO TABLE it_hrp1000 bypassing buffer
                WHERE mandt EQ sy-mandt AND
                      plvar EQ '01' AND
                      otype EQ 'S'AND
                      istat EQ '1' AND
                      begda <= sy-datum AND
                      endda >= sy-datum AND
                      langu EQ 'EN'.
    GET TIME STAMP FIELD t1.
    SELECT * FROM hrp1001 CLIENT SPECIFIED INTO TABLE it_hrp1001 bypassing buffer
                FOR ALL ENTRIES IN it_hrp1000
                 WHERE mandt EQ sy-mandt AND
                        otype EQ 'S' AND
    *                    objid EQ it_hrp1000-objid and
                        plvar EQ '01' AND
                        rsign EQ 'B' AND
                        relat EQ '007' AND
                        istat EQ '1' AND
                        begda LT sy-datum AND
                        endda GT sy-datum and
                        sclas EQ 'C' and
                        objid EQ it_hrp1000-objid.
    *                    %_hints mssqlnt 'INDEX(HRP1001~0)'.
    *delete it_hrp1001 where sclas ne 'C'.
    GET TIME STAMP FIELD t2.
    t3 = t1 - t2.
    WRITE: 'Time taken - ', t3.
    test case 2
    REPORT  zdemo_perf_select.
    DATA: it_hrp1000 TYPE STANDARD TABLE OF hrp1000 WITH HEADER LINE.
    DATA: it_hrp1001 TYPE STANDARD TABLE OF hrp1001 WITH HEADER LINE.
    DATA: it_hrp1007 TYPE STANDARD TABLE OF hrp1007 WITH HEADER LINE.
    DATA: it_pa0000 TYPE STANDARD TABLE OF pa0000 WITH HEADER LINE.
    DATA: it_pa0001 TYPE STANDARD TABLE OF pa0001 WITH HEADER LINE.
    DATA: it_pa0002 TYPE STANDARD TABLE OF pa0002 WITH HEADER LINE.
    DATA: it_pa0105_10 TYPE STANDARD TABLE OF pa0105 WITH HEADER LINE.
    DATA: it_pa0105_20 TYPE STANDARD TABLE OF pa0105 WITH HEADER LINE.
    DATA: t1 TYPE timestampl,
          t2 TYPE timestampl,
          t3 TYPE timestampl 
    SELECT * FROM hrp1000 CLIENT SPECIFIED  INTO TABLE it_hrp1000 bypassing buffer
                WHERE mandt EQ sy-mandt AND
                      plvar EQ '01' AND
                      otype EQ 'S'AND
                      istat EQ '1' AND
                      begda <= sy-datum AND
                      endda >= sy-datum AND
                      langu EQ 'EN'.
    GET TIME STAMP FIELD t1.
    SELECT * FROM hrp1001 CLIENT SPECIFIED INTO TABLE it_hrp1001 bypassing buffer
                FOR ALL ENTRIES IN it_hrp1000
                 WHERE mandt EQ sy-mandt AND
                        otype EQ 'S' AND
                        objid EQ it_hrp1000-objid and
                        plvar EQ '01' AND
                        rsign EQ 'B' AND
                        relat EQ '007' AND
                        istat EQ '1' AND
                        begda LT sy-datum AND
                        endda GT sy-datum and
                        sclas EQ 'C'." and
    *                    objid EQ it_hrp1000-objid.
    *                    %_hints mssqlnt 'INDEX(HRP1001~0)'.
    *delete it_hrp1001 where sclas ne 'C'.
    GET TIME STAMP FIELD t2.
    t3 = t1 - t2.
    WRITE: 'Time taken - ', t3.

    Mani wrote:
    Thank you for your answer, its very helpful but i am still nor sure how does parameter rsdb/max_blocking_factor affect records size.
    Hi,
    The blocking affects the size of the statement and the memory structures for returning the result.
    So if your itab has 500 rows and your blocking is 5, the very same statement will be executed 100 times.
    Nothing good or bad about this so far.
    Assume, your average result for an inlist 5 statement is 25 records with an average size of 109 bytes.
    You average result size will be 2725 byte plus overhead which will nearly perfectly fit into two 1500 byte ethernet frames.
    Nothing to do in this case.
    Assume your average result for an inlist 5 statement is 7 records with an average size of 67 bytes.
    You average result size will be ~ 470 byte plus overhead which will only fill 1/3 of a 1500 byte ethernet frame.
    In this case, setting the blocking to 12 ... 15 will give you 66% network transfer performance gain,
    and reduces the number of calls to the DB by 50%, giving additional benefit.
    Now this is an extreme example. The longer the average row length is, the lower will be the average loss in the network.
    You have the same effects in memory structures, but on that layer you are fighting single micro seconds instead of
    hundreds of these, so in real life it is rarely measurable.
    Depending on table-statistics, oracle might decide for short inlists to use a concatanation instead of an inlist.
    This is supposed to be more costy, but I never had a case where I could proove a big difference.
    Values from 5 to 15 for blocking seem to be ok for me. If you have special statements in customer coding,
    it #might# be benefitial to do the mentioned calculations and do some network tracing to see if you can squeeze your
    network efficiency by tuning the blocking.
    If you have jumbo frames enabled, it might be worth to be analyzed as well.
    If you are only on a DB-CI system that is loopback connected to the DB, I doubt there might be a big outcome.
    Hope this helps
    Volker

Maybe you are looking for

  • Freezing when opening project in CS5.5 Windows 7

    I've read where uses have been hainvg issue loading projects with linked objects like Premiere sequences.  I'm having such an issue where I can load 16% of the project and then Encore freezes and crashes.  I've deleted all the preferences and media c

  • Pricing Exchange Rate Type in Copy Control VTFL

    Hello, We have Pricing Exchange Rate type in the Copy control from Delivery To billing ( VTFL) at item level. This Exchange rate type is used for price determination in the billing document. there are several options available for this field. A     C

  • Hiding columns and rows

    I'm unable to hide columns that I select. I find "unhide" in a greyed out state after I highlight a few columns and then pull down menu under table. No rows are hidden, though it doesn't matter because it's greyed out and not avialable anyway. How do

  • Apple support use

    Help Just received my 27" imac, i have had it for exactlty 6 days when resolution settings dissappeared and the after a short time the display picture starts going all flickery. I am in the UAE and the technical support is only open from sunday to th

  • JDB hangs on startup

    When I try to attach jdb to a running jvm, it sometimes hangs. In fact, this being the universe we all know and love, it always hangs on the program instance I care about, although I can do this just fine on many other programs, and even other instan