Global pick list cache disabling

I was successfully able to use the code below to disable local attribute caching. Is there a global profile or attribute setting which allows the disabling of poplist cache w/o having to add the code below?
Thanks,
-Scott
/*The poplist data object that OA Framework creates the first
* time is cached in the JVM and reused
*until you explicitly disable caching
*Hence, use setPickListCacheEnabled API to stop JVM
* from caching Poplist values.
//Code in process request
OAMessageChoiceBean mc1 = (OAMessageChoiceBean)webBean.findChildRecursive("mc1");
mc1.setPickListCacheEnabled(false);

sreese ,
There is no profile option to control cache invalidation in messagechoice bean, as this is something which will impact entire applications do to improve performace, however the API is provided to implement in a specific scenario where changes are required in messagechoice bean on the fly.
--Mukul                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

Similar Messages

  • Disable Global address list suggestions when composing e mail

    I got a question of one of my users a few days ago pointing out that when using an Iphone with Active Sync / Exchange synchronisation he is not able to disable e mail address suggestions he gets when typing the e mail address in the TO field comming from the Global Address list.
    My user wants to use his personal contacts he uses in Outlook, but does not want to use the Global Address list from exchange. (at least not the automatic suggestions which pop up during typing an e mail in the TO / CC fields when composing an E mail.
    I am able to disable this in the Contract app, but not in the E mail app in IOS.
    It seems that when I enable to sync the contacts I get both the Personall contacts plus the Global Address list, there is no way to set any setting in regard to the contacts here.
    I cannot find any setting which disables the phone of looking up the address I am typing in the Global Address list, having a verry big corporate global address list (we use this in our desktop / outlook environment) this can be verry annoying.
    Anyone who can tell me if I can disable this (or not) and if so point me in the right direction ?
    Thank you

    What device do you have? And what is missing? You Compose a message, choose a name, then they have email addresses missing? or the contact is missing?
    BlackBerry Help
    www.blackberryboards.com

  • Excluding disabled and expired users from Global Address List

    There showed a request in my company to remove expired user accounts from the GAL. Is there any way to do it in the filter rules of the GAL? I would practicaly like to exclude them from GAL when they are expired, and include them in the GAL when enabling
    them again, but in an automatic way. Is there any method existing to do that? We are using Exchange Server 2003.
    Thanx,
    Kristian

    Hi,
    To hide from the address list, you can follow the steps below to get this.
    1. Open ESM, expand Recipients.
    2. Click on All Global Address Lists, in the right hand pane right click
    Default Global Address List and go to Properties.
    3. In the Default Global Address List Properties, click preview.
    4. Scroll through a list of users to choose the user you want to hide, right click and go to Properties.
    5. Under the Exchange Advanced tab, check "hide from Exchange address lists"
    Best regards,
    Belinda
    Belinda Ma
    TechNet Community Support

  • Exchange 2010 - Offline Address Book and Global Address List Issue!

    I don't think I'm going crazy but cant find out why this is happening?
    When I search the Address book in cached mode (OAB) in outlook for "Jackie W"
    I get a number of users which include "Jackie W***"
    but some are "Jackie K***" or "Jackie B***"
    but their Office is set to "Westminster"
    But this is the strange part when I search on the address book with Cached mode disabled (GAL) I only get users with Surnames begging with
    "W" so only "Jackie W***" show up and if I just type in "Westminster" I get users form that location! but not a mix like on the OAB! Also when using the OAB if I type
    "Jackie West" it brings up the Jackie from Westminster but this dose not happen when using the GAL because there is no
    "Jackie West" in the Address book?
    To my knowledge the OAB is just a Copy of the GAL that updates every 24 hours, and should be the same (give or take a few starters and leavers in the last 24 hours) and should pull up the same information when searching is this correct or am I going crazy!
    :D
    Technical Beta Tester || Matthew John Earley BSc (hons) || www.o0MattE0o.myby.co.uk

    Hi MattE,
    Does it happen for each Outlook profile you have, from every user account which is on Cached Mode.
    A.If not then I believe OAB copy is either corrupted or Out of date.
    Checking it on OWA would confirm the actual GAL data.(Similar to Online Exchange)
    Client side update runs by default at Startup and every 24hrs , if skipped it will wait for next day or manual update.
    1.In Outlook 2010, select the File tab in the upper left corner, then Download Address Book from the Account Settings drop down menu.
    Outlook 2007 users should select Tools from Outlooks uppermost menu, then Send/Receive and Download Address Book from the Tools drop down menus.
    2.The Offline Address Book window will appear. Make sure the following options are selected:
    ##De-check the Download changes since last Send/Receive option
    ##Make sure Full Details is selected
    ##Make sure the \Global Address List is selected from the Choose address book drop down menu
    Q: How frequently is the offline address book updated on the Outlook client?
    A: If left constantly running, Outlook in cached mode automatically updates the offline address book on the client every 24 hours. The 24-hour time period is measured from the time that the offline address book was last downloaded successfully. For example, if you complete an offline address book download at 09:00 today, Outlook will start the offline address book download the next day at approximately 09:00. Therefore, different people will receive updates at different, random times.
    Note The default setting on the Exchange computer is to generate an offline address book differential file every morning at 04:00. For a change that is made in Active Directory to reach the client computer, the following events must occur:•The change must be picked up by the Exchange computer that generates the offline address book files. This can take several hours. At worst, it can take 24 hours. This variable will be referred to as "x."
    •The Outlook clients must download the offline address book updates every 24 hours. This update can take several hours. At worst, it can take 24 hours. This variable will be referred to as "y."
    The update reaches the client machines x+y hours later. It would be rare for a client to ever experience a 48-hour delay or more unless there were some Active Directory or public folder replication issues.
    B.If yes, then there is a issue with OAB generation, that needs further troubleshooting depending on the distribution structure used Public Folder based or EWS.
    • Try following:
    EMC > Organization configuration > Mailbox > Offline address book.
    Then right click on "Default offline addressbook" and select properies.
    Click on "Distribution" tab, and untick "Enable public folder distribution". Click "Apply" and "OK"
    Update the Address Book. Let replication finish.
    Now go back to same location and tick "Enable public folder distribution" back again. Click "Apply" and "OK".
    Here is a old times article I like:
    Offline Address List Generation Overview
    http://blogs.msdn.com/b/dgoldman/archive/2005/03/31/overview-of-the-oabgen-process.aspx
    One More Old but relevant:
    Administering the offline address book in Outlook
    http://support.microsoft.com/kb/841273
    Regards,
    Satyajit
    Please “Vote As Helpful”
    if you find my contribution useful or “Mark As Answer” if it does answer your question. That will encourage me - and others - to take time out to help you.

  • Exchange 2013: Problem with Default Global Address List after migration

    I just completed a migration from Exchange 2007 to Exchange 2013.  The 2007 box has been decommissioned just last week.  I have been seeing weird issues with our offline addressbook and global address list, since the migration, but always thought
    it was related to Ex2007.  Well the issues still exist and here's what i've found so far:
    1.  If any user goes to Schedule Appointment in Outlook, and they click the Rooms button (on the Scheduling Assistant page), we get a LONG wait (about 5 mins or more) and then an error that says:  "The operation could not be completed because
    an offline address book is not available.  Download a copy of the offline address book."  When i click OK, the address book is up, with the "All Rooms" list showing blank (we have 3 rooms in Exchange currently).
    2.  Now if I go to the Address Book in Outlook it opens to the GAL and it's up to date...  I can also force an update to the offline address book after adding a new group or entry, so i know offline address books are being updated properly and
    working.  HOWEVER, if i go to any of the other address lists (besides Contacts and GAL) under All Address Lists (All Contacts, All Groups, All Rooms, All Users and Public Folders) I get the same error given above:  "The operation could not be
    completed because an offline address book is not available.  Download a copy of the offline address book." 
    3.  I went to the Exchange 2013 EAC and went to Organization -> Address Lists.  Everything under here said 'NO' under the Up-to-Date column.  When i looked at the properties on each list, and clicked save, I had to update to the new version.
     After doing this, the Up-to-Date column said 'YES'.  I could do all lists EXCEPT for the GAL.  It still says 'NO'
    4.  The last thing i did was set my Outlook to NOT be in cached mode.  This should give me a direct connection to the GAL and all lists, if I'm not mistaken...  So when i do this, I cannot even open see the GAL.  The ONLY option in the
    Address Book that comes up is Contacts (which are my personal ones).
    5.  I just now ran Get-GlobalAddressList | fl  in powershell on the Ex2013 server.  I see some things that make me wonder...   First; nothing in the RecipientFilter field, however, there is something in the LdapRecipientFilter field.
     Second; the RecipientFilterType field says "Legacy".  and Third; the RecipientFilterApplied field says "False".
    Didn't know what these should all be, but it appears maybe this is the cause of all my issues??  Can someone help me out here.. even if i have to recreate a new GAL, i'm fine with that, I just don't know all the steps to do so.  I just need it
    to work!
    Thanks
    Jeff
    -Jeff

    Hi,
    In my opinion, it is better to confirm whether the GAL is good, first.
    How about the GAL working in OWA?
    If GAL working well in OWA, it seems the issue on the Outlook Client or Connectivity side.
    Please trying to run Outlook on the safe mode to avoid some AVs, add-ins and firewall for testing.
    Please follow the steps as below to narrow down the OAB issue.
    Following are the locations that .lzx files in CAS server and BMX server:
    CAS:
    C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\OAB
    MBX:
    C:\Program Files\Micorosft\Exchange Server\V15\ExchangeOAB
    Please verify whether the .lzx files update to the latest.
    1. If the .lzx files in MBX server not update to the latest.
    It should be an issue on the OAB generation side.
    2. If the .lzx files in MBX server is latest, but CAS server not.
    It should be a distribution issue.
     1) Please run Get-OabVirtualDirectory command in EMS to verify whether at least one OAB VD exist in the org. If not, please create a new one.
     2) Please make sure whether any setup for Web Distribution. Selecting the “Enabling an Offline Address Book for Web Distribution” checkbox.
     3) Please force restart File Distribution services to distribute OAB files manually.
    3. If the .lzx files in MBX server and CAS server are all update to the latest.
    It should be the connectivity between CAS server and Client issue.
     1)Please verify the network.
     2)Please check DNS, MX, etc. configuration.
     3)Please run “Test E-mail AutoConfiguration” to check the AutoDiscover details.
       Please make sure the OAB URLs are correct.
       If the OAB URLs are incorrect, please using following command to re-set them:
       Set-OABVirtualDirectory -Identity "ServerFQDN\OAB (Default Web Site)" -ExternalUrl
    https://www.contoso.com/OAB -InternalUrl
    https://mail.contoso.com/OAB
     4)Please checking the App log and finding solutions from Microsoft Technet articles or KB, according to the Event ID.
     5)If it still not working after performing the methods above unfortunately, please trying to re-build OAB Virtual Directory.
       Article for reference:
       Remove, Re-Create, and Reconnect an Offline Address Book Virtual Directory
    http://technet.microsoft.com/en-us/library/bb123595(v=exchg.141).aspx 
    Hope it is helpful
    Thanks
    Mavis
    Mavis Huang
    TechNet Community Support

  • Default Global Address List

    Hello all. Running Exchange 2010 Standard SP3 and I am having a strange issue right now.
    My Outlook clients (2010 and 2013) can only see the GAL when in cached mode. For some users they are setup with cached mode turned off and in these cases they cannot see the GAL when opening the address book. If they type in a name it will return that.
    Any thoughts on what this could be?

    Sure here it is
    [PS] C:\Windows\system32>get-globaladdresslist -Identity "Default Global Address List" | format-list
    RunspaceId                   : 8210355a-77fa-4426-8288-25516a817875
    IsDefaultGlobalAddressList   : True
    Name                         : Default Global Address List
    RecipientFilter              : (Alias -ne $null -and (ObjectClass -eq 'user' -or ObjectClass -eq 'contact' -or ObjectCl
                                   ass -eq 'msExchSystemMailbox' -or ObjectClass -eq 'msExchDynamicDistributionList'
    -or Ob
                                   jectClass -eq 'group' -or ObjectClass -eq 'publicFolder'))
    LdapRecipientFilter          : (&(mailNickname=*)(|(objectClass=user)(objectClass=contact)(objectClass=msExchSystemMail
                                   box)(objectClass=msExchDynamicDistributionList)(objectClass=group)(objectClass=publicFol
                                   der)))
    LastUpdatedRecipientFilter   :
    RecipientFilterApplied       : True
    IncludedRecipients           :
    ConditionalDepartment        : {}
    ConditionalCompany           : {}
    ConditionalStateOrProvince   : {}
    ConditionalCustomAttribute1  : {}
    ConditionalCustomAttribute2  : {}
    ConditionalCustomAttribute3  : {}
    ConditionalCustomAttribute4  : {}
    ConditionalCustomAttribute5  : {}
    ConditionalCustomAttribute6  : {}
    ConditionalCustomAttribute7  : {}
    ConditionalCustomAttribute8  : {}
    ConditionalCustomAttribute9  : {}
    ConditionalCustomAttribute10 : {}
    ConditionalCustomAttribute11 : {}
    ConditionalCustomAttribute12 : {}
    ConditionalCustomAttribute13 : {}
    ConditionalCustomAttribute14 : {}
    ConditionalCustomAttribute15 : {}
    RecipientContainer           :
    RecipientFilterType          : Custom
    IsValid                      : True
    ExchangeVersion              : 0.1 (8.0.535.0)
    DistinguishedName            : CN=Default Global Address List,CN=All Global Address Lists,CN=Address Lists Container,CN
                                   =First Organization,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=Company,DC=
                                   local
    Identity                     : \Default Global Address List
    Guid                         : 95f8d121-fa5f-4530-8c18-ab1be5941106
    ObjectCategory               : Company.local/Configuration/Schema/Address-Book-Container
    ObjectClass                  : {top, addressBookContainer}
    WhenChanged                  : 11/24/2012 8:27:20 PM
    WhenCreated                  : 5/22/2010 11:25:21 PM
    WhenChangedUTC               : 11/25/2012 1:27:20 AM
    WhenCreatedUTC               : 5/23/2010 3:25:21 AM
    OrganizationId               :
    OriginatingServer            : NTS-DC03.Company.LOCAL
    [PS] C:\Windows\system32>Get-GlobaladdressList | FL
    RunspaceId                   : 8210355a-77fa-4426-8288-25516a817875
    IsDefaultGlobalAddressList   : True
    Name                         : Default Global Address List
    RecipientFilter              : (Alias -ne $null -and (((((ObjectClass -eq 'user' -or ObjectClass -eq 'contact') -or Obj
                                   ectClass -eq 'msexchsystemmailbox') -or ObjectClass -eq 'msexchdynamicdistributionlist')
                                    -or ObjectClass -eq 'group')
    LdapRecipientFilter          : (&(mailNickname=*)(|(objectClass=user)(objectClass=contact)(objectClass=msExchSystemMail
                                   box)(objectClass=msExchDynamicDistributionList)(objectClass=group)(objectClass=publicFol
                                   der)))
    LastUpdatedRecipientFilter   :
    RecipientFilterApplied       : True
    IncludedRecipients           :
    ConditionalDepartment        : {}
    ConditionalCompany           : {}
    ConditionalStateOrProvince   : {}
    ConditionalCustomAttribute1  : {}
    ConditionalCustomAttribute2  : {}
    ConditionalCustomAttribute3  : {}
    ConditionalCustomAttribute4  : {}
    ConditionalCustomAttribute5  : {}
    ConditionalCustomAttribute6  : {}
    ConditionalCustomAttribute7  : {}
    ConditionalCustomAttribute8  : {}
    ConditionalCustomAttribute9  : {}
    ConditionalCustomAttribute10 : {}
    ConditionalCustomAttribute11 : {}
    ConditionalCustomAttribute12 : {}
    ConditionalCustomAttribute13 : {}
    ConditionalCustomAttribute14 : {}
    ConditionalCustomAttribute15 : {}
    RecipientContainer           :
    RecipientFilterType          : Custom
    IsValid                      : True
    ExchangeVersion              : 0.1 (8.0.535.0)
    DistinguishedName            : CN=Default Global Address List,CN=All Global Address Lists,CN=Address Lists Container,CN
                                   =First Organization,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=Company,DC=
                                   local
    Identity                     : \Default Global Address List
    Guid                         : 95f8d121-fa5f-4530-8c18-ab1be5941106
    ObjectCategory               : Company.local/Configuration/Schema/Address-Book-Container
    ObjectClass                  : {top, addressBookContainer}
    WhenChanged                  : 1/10/2014 9:36:19 AM
    WhenCreated                  : 5/22/2010 11:25:21 PM
    WhenChangedUTC               : 1/10/2014 2:36:19 PM
    WhenCreatedUTC               : 5/23/2010 3:25:21 AM
    OrganizationId               :
    OriginatingServer            : NTS-DC03.Company.LOCAL
    RunspaceId                   : 8210355a-77fa-4426-8288-25516a817875
    IsDefaultGlobalAddressList   : False
    Name                         : Idetprocedure GAL
    RecipientFilter              : (Alias -ne $null -and -not(CustomAttribute1 -ne $null))
    LdapRecipientFilter          : (&(mailNickname=*)(!(extensionAttribute1=*)))
    LastUpdatedRecipientFilter   : (Alias -ne $null -and -not(CustomAttribute1 -ne $null))
    RecipientFilterApplied       : True
    IncludedRecipients           :
    ConditionalDepartment        : {}
    ConditionalCompany           : {}
    ConditionalStateOrProvince   : {}
    ConditionalCustomAttribute1  : {}
    ConditionalCustomAttribute2  : {}
    ConditionalCustomAttribute3  : {}
    ConditionalCustomAttribute4  : {}
    ConditionalCustomAttribute5  : {}
    ConditionalCustomAttribute6  : {}
    ConditionalCustomAttribute7  : {}
    ConditionalCustomAttribute8  : {}
    ConditionalCustomAttribute9  : {}
    ConditionalCustomAttribute10 : {}
    ConditionalCustomAttribute11 : {}
    ConditionalCustomAttribute12 : {}
    ConditionalCustomAttribute13 : {}
    ConditionalCustomAttribute14 : {}
    ConditionalCustomAttribute15 : {}
    RecipientContainer           :
    RecipientFilterType          : Custom
    IsValid                      : True
    ExchangeVersion              : 0.1 (8.0.535.0)
    DistinguishedName            : CN=Idetprocedure GAL,CN=All Global Address Lists,CN=Address Lists Container,CN=First Org
                                   anization,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=Company,DC=local
    Identity                     : \Idetprocedure GAL
    Guid                         : 7bd1a467-66c9-42bc-8efb-f53ec1b6556b
    ObjectCategory               : Company.local/Configuration/Schema/Address-Book-Container
    ObjectClass                  : {top, addressBookContainer}
    WhenChanged                  : 11/24/2012 8:27:22 PM
    WhenCreated                  : 5/28/2010 1:45:14 AM
    WhenChangedUTC               : 11/25/2012 1:27:22 AM
    WhenCreatedUTC               : 5/28/2010 5:45:14 AM
    OrganizationId               :
    OriginatingServer            : NTS-DC03.Company.LOCAL
    RunspaceId                   : 8210355a-77fa-4426-8288-25516a817875
    IsDefaultGlobalAddressList   : False
    Name                         : Company-footandankle GAL
    RecipientFilter              : (Alias -ne $null -and -not(CustomAttribute1 -ne $null))
    LdapRecipientFilter          : (&(mailNickname=*)(!(extensionAttribute1=*)))
    LastUpdatedRecipientFilter   : (Alias -ne $null -and -not(CustomAttribute1 -ne $null))
    RecipientFilterApplied       : True
    IncludedRecipients           :
    ConditionalDepartment        : {}
    ConditionalCompany           : {}
    ConditionalStateOrProvince   : {}
    ConditionalCustomAttribute1  : {}
    ConditionalCustomAttribute2  : {}
    ConditionalCustomAttribute3  : {}
    ConditionalCustomAttribute4  : {}
    ConditionalCustomAttribute5  : {}
    ConditionalCustomAttribute6  : {}
    ConditionalCustomAttribute7  : {}
    ConditionalCustomAttribute8  : {}
    ConditionalCustomAttribute9  : {}
    ConditionalCustomAttribute10 : {}
    ConditionalCustomAttribute11 : {}
    ConditionalCustomAttribute12 : {}
    ConditionalCustomAttribute13 : {}
    ConditionalCustomAttribute14 : {}
    ConditionalCustomAttribute15 : {}
    RecipientContainer           :
    RecipientFilterType          : Custom
    IsValid                      : True
    ExchangeVersion              : 0.1 (8.0.535.0)
    DistinguishedName            : CN=Company-footandankle GAL,CN=All Global Address Lists,CN=Address Lists Container,CN
                                   =First Organization,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=Company,DC=
                                   local
    Identity                     : \Company-footandankle GAL
    Guid                         : b9e395f0-3d63-4d2a-b974-0cfdea52759e
    ObjectCategory               : Company.local/Configuration/Schema/Address-Book-Container
    ObjectClass                  : {top, addressBookContainer}
    WhenChanged                  : 11/24/2012 8:27:22 PM
    WhenCreated                  : 5/28/2010 11:57:15 PM
    WhenChangedUTC               : 11/25/2012 1:27:22 AM
    WhenCreatedUTC               : 5/29/2010 3:57:15 AM
    OrganizationId               :
    OriginatingServer            : NTS-DC03.Company.LOCAL
    RunspaceId                   : 8210355a-77fa-4426-8288-25516a817875
    IsDefaultGlobalAddressList   : False
    Name                         : Company GAL
    RecipientFilter              : (Alias -ne $null -and -not(CustomAttribute1 -ne $null))
    LdapRecipientFilter          : (&(mailNickname=*)(!(extensionAttribute1=*)))
    LastUpdatedRecipientFilter   : (Alias -ne $null -and -not(CustomAttribute1 -ne $null))
    RecipientFilterApplied       : True
    IncludedRecipients           :
    ConditionalDepartment        : {}
    ConditionalCompany           : {}
    ConditionalStateOrProvince   : {}
    ConditionalCustomAttribute1  : {}
    ConditionalCustomAttribute2  : {}
    ConditionalCustomAttribute3  : {}
    ConditionalCustomAttribute4  : {}
    ConditionalCustomAttribute5  : {}
    ConditionalCustomAttribute6  : {}
    ConditionalCustomAttribute7  : {}
    ConditionalCustomAttribute8  : {}
    ConditionalCustomAttribute9  : {}
    ConditionalCustomAttribute10 : {}
    ConditionalCustomAttribute11 : {}
    ConditionalCustomAttribute12 : {}
    ConditionalCustomAttribute13 : {}
    ConditionalCustomAttribute14 : {}
    ConditionalCustomAttribute15 : {}
    RecipientContainer           :
    RecipientFilterType          : Custom
    IsValid                      : True
    ExchangeVersion              : 0.1 (8.0.535.0)
    DistinguishedName            : CN=Company GAL,CN=All Global Address Lists,CN=Address Lists Container,CN=First Organi
                                   zation,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=Company,DC=local
    Identity                     : \Company GAL
    Guid                         : 5a61913d-450a-4b85-abdf-46f2151c2510
    ObjectCategory               : Company.local/Configuration/Schema/Address-Book-Container
    ObjectClass                  : {top, addressBookContainer}
    WhenChanged                  : 11/24/2012 8:27:22 PM
    WhenCreated                  : 5/29/2010 12:27:23 AM
    WhenChangedUTC               : 11/25/2012 1:27:22 AM
    WhenCreatedUTC               : 5/29/2010 4:27:23 AM
    OrganizationId               :
    OriginatingServer            : NTS-DC03.Company.LOCAL
    [PS] C:\Windows\system32>

  • Connecting to Outlook Global Address List

    I have an application which needs to email the contents of a record to one or more people in our Outlook Global Address List. I would like to present the user with the GAL so he/she may pick the recipient. Anybody done this?

    Tyler,
    Since having read about your implementation, I've built an AD package with many functions that are very useful in ApEx. I was previously unaware of pipelined functions - I thank you for that.
    As for the 1000 limit... This is something that you'll run into in a large company. For example, if the filter used was on samAccountName, and the user just types "a" well chances are that there are many people that have a name with an "a" in it. I don't necessarily want to display that many results, but when a filter doesn't limit the result set down that's just what you get.
    You are correct that the 1000 result limit is a setting on the LDAP server, but VBScript has the ability to set a "page size". This allows the code to work past the limit without issue. I'm not sure if we have that in DBMS_LDAP.
    Regards,
    Dan

  • Global Address List Contacts Appearing Unexpectedly

    I have a very strange issue regarding Exchange Active Sync and the Global Address List. I've added an Exchange account to an iOS8 iPhone 6 but am only syncing the calendar. Even though I have the contacts sync option disabled when I type in the address field of a new message it pulls email addresses from the GAL of the exchange server. When I go to the Groups section of the Contacts app I do not see the option to disable the GAL like I do when I use a phone that allows contacts to sync.
    Is there another way to disable GAL lookups when not syncing Exchange contacts?
    Thank you.

    On my phone I go to the Groups screen and at the bottom of the list it says "(account name) Global Address List".

  • Global Address List Not Updating in Outlook

    I have a question from user about Global Address Not updating in Outlook. We have a user whom name was changed, how ever his new name didn't appeared on Global Address List in Outlook client
    I did explained to him that Outlook require about 48 hours to reflect a new update Global Address List then he asked me why previously (24 hours) his old name also disappear from Global Address List. 
    Could you please advice.

    Hi,
    Please check whether the new name is updated in Global Address List when the user accesses his mailbox from OWA and Outlook Online mode.
    If the new name is also not changed in GAL for OWA, please refer to bawzman's suggestion to run cmdlets to update globel address list in Exchange server.
    If the issue only happens in Outlook cached mode, the issue should be related to Offline Address Book which is used for Cached mode as Globle Address List. We can manually download it and update the address list by clicking Send/Receive > Send/Receive
    Groups > Download Address Book to have a try.
    Regards,
    Winnie Liang
    TechNet Community Support

  • Smartforms for picking list

    Hi,
    Someone knows smartforms and its program for picking list?.
    I don't want to use sapscript SD_PICK_COLL and its program RVADSK01.
    Thanks very much.
    Matteo Vernile.

    hi,
    go through this code.
    Program Description:                                     *
    A packing list is printed for each outbound delivery.    *
    Before the delivery is made to a customer the goods are  *
    packed in a box or any other container and to have a     *
    list of products put in the package packing list is      *
    required. This packing list will be printed upon pick    *
    confirmation or at a time the delivery note is created.  *
    REPORT  z_sd_rep_000002 MESSAGE-ID zdevmsg.
    ********************TABLES USED***************************************
    TABLES:   likp,       "SD Document: Delivery Header Data
              lips,       "SD document: Delivery: Item data
              vbak,       "Sales Document: Header Data
              vbpa,       "Sales Document: Partner
              vbuk,       "Sales Document: Header Status and Admin Data
              vttp,       "Shipment Item
              vttk,       "Shipment Header,
              adrc,       "Addresses (Business Address Services)
              tvst,       "Organizational Unit: Shipping Points
              vbfa,       "Sales Document Flow
              kna1,       "General Data in Customer Master
              vepo,       "Packing: Handling Unit Item (Contents)
              vekp.       "Handling Unit - Header Table
    INCLUDE rvadtabl.
    ********************WORK AREA*****************************************
    DATA    : wa_zpacklist TYPE  zpacklist,  "structure to hold all the data
                                             "that has to be passed to the
                                             "smart form
              wa_item TYPE LINE OF zitempack."workarea of main item struct
    DATA    : wa_item_lips TYPE LINE OF zitempack."wrkarea for data selected
    "from LIPS table
    ********************INTERNAL TABLE************************************
    DATA    : i_item_lips TYPE zitempack,       "Internal table for data
                                                "selected from LIPS table
              i_item TYPE   zitempack.          "main internal table for
    "items data.
    *****************************CONSTANTS********************************
    CONSTANTS : c_posnn(1)        TYPE c VALUE 'J',
    YATHAM6 Insert Begin
                c_vbtyp_v(1)      type c VALUE 'C',
    YATHAM6 Insert End
                c_parvw_stp       TYPE vbpa-parvw VALUE 'AG',
                c_parvw_shp       TYPE vbpa-parvw VALUE 'WE',
                c_formname        TYPE tdsfname VALUE 'Z_PACKINGLIST',
                c_zdevmsg         TYPE SY-MSGID value 'ZDEVMSG',
                c_e               TYPE SY-MSGTY VALUE 'E',
                c_000             TYPE SY-MSGNO VALUE '000',
                c_X(1)            TYPE c VALUE 'X',
                c_fully_picked(1) TYPE c VALUE 'C'.
    ***************************GLOBAL VARIABLE****************************
    DATA    : v_objnm         LIKE   thead-tdname,
              v_tknum_tmp     LIKE   vttp-tknum,
              v_formname      TYPE   rs38l_fnam,
              v_venum         TYPE vekp-venum,
              v_screen,        "Output on printer or screen
              v_picked(1).
    ************************MAIN PROGRAM ***********************************
    FORM entry USING return_code us_screen.
      DATA: v_retcode TYPE sy-subrc.
      CLEAR v_retcode.
    Clear any previous data.
      CLEAR wa_zpacklist.
      v_screen = us_screen.
    Check whether the Delivery number is already been picked.If it is
    picked the set the print parameters
      PERFORM processing USING us_screen
                         CHANGING v_retcode.
      IF v_retcode NE 0.
        return_code = 1.
      ELSE.
        return_code = 0.
      ENDIF.
    ENDFORM.                    "ENTRY
    *&      Form  PROCESSING
    Check whether the Delivery number is already been picked.If it is
    picked the set the print parameters
    FORM processing  USING    us_screen
                     CHANGING v_retcode.
      DATA: v_fm_name            TYPE rs38l_fnam.
      DATA: v_control_param      TYPE ssfctrlop.
      DATA: v_composer_param     TYPE ssfcompop.
      DATA: v_recipient          TYPE swotobjid.
      DATA: v_sender             TYPE swotobjid.
      DATA: v_formname           TYPE tdsfname .
    get SmartForm from customizing table TNAPR
      v_formname = tnapr-sform.
    Check whether the delivery number has been picked.If it is picked
    select the relevant data for that delivery number
      PERFORM get_data CHANGING v_retcode.
      CHECK v_retcode EQ 0.
    Set the print parameters for Smartform
      PERFORM set_print_param CHANGING v_control_param
                                       v_composer_param
                                       v_recipient
                                       v_sender
                                       v_retcode.
    Check whether the Smart form exists.
      CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
      EXPORTING
        formname                 = c_formname
        VARIANT                  = ' '
        DIRECT_CALL              = ' '
    IMPORTING
       fm_name                  = v_formname
      EXCEPTIONS
        NO_FORM                  = 1
        NO_FUNCTION_MODULE       = 2
        OTHERS                   = 3
      IF sy-subrc <> 0.
        v_retcode = sy-subrc.
        PERFORM protocol_update.
      ENDIF.
    Check the structure wa_zpacklist for data.
      IF NOT wa_zpacklist IS INITIAL.
        CALL FUNCTION v_formname
          EXPORTING
            archive_index      = toa_dara
            archive_parameters = arc_params
            control_parameters = v_control_param
            mail_recipient     = v_recipient
            mail_sender        = v_sender
            output_options     = v_composer_param
            user_settings      = ' '
            wa_zpacklist               = wa_zpacklist
          IMPORTING
          DOCUMENT_OUTPUT_INFO       =
          JOB_OUTPUT_INFO            =
          JOB_OUTPUT_OPTIONS         =
          EXCEPTIONS
           formatting_error           = 1
           internal_error             = 2
           send_error                 = 3
           user_canceled              = 4
           OTHERS                     = 5. .
        IF sy-subrc <> 0.
            error handling
          v_retcode = sy-subrc.
          PERFORM protocol_update.
        ENDIF.
      ELSE.
        IF v_screen = space.
          CALL FUNCTION 'NAST_PROTOCOL_INIT_AND_LOAD'
            EXPORTING
              cps_nast = nast.
          CALL FUNCTION 'NAST_PROTOCOL_UPDATE'
            EXPORTING
              msg_arbgb = c_ZDEVMSG
              msg_nr    = c_000
              msg_ty    = c_E
              msg_v1    = syst-msgv1
              msg_v2    = syst-msgv2
              msg_v3    = syst-msgv3
              msg_v4    = syst-msgv4
            EXCEPTIONS
              OTHERS    = 1.
        ELSE.
          MESSAGE e000 WITH 'No Data Exists, to Display Output'(002).
        ENDIF.                    " IF v_screen = space.
      ENDIF.                  " if not wa_zpacklist[] is initial
    ENDFORM.                    " PROCESSING
    *&      Form  get_data
    Check whether the delivery number has been picked.If it is picked
    select the relevant data for that delivery number
    FORM get_data  CHANGING v_retcode.
    This is the Input obtained from the NAST entry, Delivery Number
      wa_zpacklist-vbeln = nast-objky.
      CLEAR v_picked.
    Check if the Delivery has Not been Picked, if not then Do Not Display
    the Layout and display an Error Message
      CLEAR vbuk.
      SELECT SINGLE kostk
        FROM vbuk
        INTO vbuk-kostk
        WHERE vbeln EQ wa_zpacklist-vbeln.
    The Picking should Not be Processed, Else Display a Msg
      IF vbuk-kostk NE c_fully_picked AND vbuk-kostk NE space.
        v_picked = c_X.
        v_retcode = 1.
        IF v_screen = space.
          CALL FUNCTION 'NAST_PROTOCOL_INIT_AND_LOAD'
            EXPORTING
              cps_nast = nast.
          CALL FUNCTION 'NAST_PROTOCOL_UPDATE'
            EXPORTING
              msg_arbgb = c_ZDEVMSG
              msg_nr    = c_000
              msg_ty    = c_E
              msg_v1    = syst-msgv1
              msg_v2    = syst-msgv2
              msg_v3    = syst-msgv3
              msg_v4    = syst-msgv4
            EXCEPTIONS
              OTHERS    = 1.
        ELSE.
          MESSAGE e000 WITH
                    'Delivery has not been Picked-Please Check'(001).
        ENDIF.
      ENDIF.
      CHECK v_retcode = 0.
    get all the header related data from LIKP,VBAK,VBFA,VTTP,VTTK
      PERFORM get_header_data.
    get the address numbers for shipping point ,ship-to-party and
    sold-to-party from VBFA,TVST tables
      PERFORM get_addr_no.
    get all the item details from VBAP ,LIPS
      PERFORM get_item_data.
    ENDFORM.                    " get_data
    *&      Form  get_header_data
    Get all the header related data from LIKP,VBAK,VBFA,VTTP,VTTK
    FORM get_header_data.
    select the header data from LIKP based on Delivery number.
    select the following fields and put it into workarea wa_zpacklist.
      SELECT SINGLE vbeln          "Delivery number
                    kunnr          "Sold to party
                    kunag          "Shipt to party
                    inco1          "Inco term
                    inco2          "Inco term 2
                    btgew          "Total Weight
                    gewei          "Net weight
                    anzpk          "Total noumber of packages in delivery
                    vkorg          "Sales Organization
                    vstel          "Shipping Point/Receiving Point
                    bldat          "Date on which the Docu. was created
               FROM likp
               INTO CORRESPONDING FIELDS OF wa_zpacklist
              WHERE vbeln = wa_zpacklist-vbeln.
    to get Purchase order number (BSTNK),
          Sales order number (VBELV),
          Contract number (VBELN_GRP),
          Customer order date first get the Sales document from VBFA
    using Delivery number (LIKP-VBELN) and VBTYP_N in the where clause.
    YATHAM6 Del Begin - D47K910351 05/12/2004
    SELECT SINGLE  vbelv          "Sales Document
              INTO  wa_zpacklist-vbelv
              FROM  vbfa
              WHERE vbeln   = wa_zpacklist-vbeln
              AND   vbtyp_n = c_posnn
    YATHAM6 Insert Begin - 04/15/2004
    Preceding Document category only Order need to be selected
    Without this it is selecting Quote and/or Inquiry because of
    Select single (Which would select the first entry)
              AND   vbtyp_v = c_vbtyp_v.
    YATHAM6 Insert End - 04/15/2004
    YATHAM6 Del End - D47K910351 05/12/2004
    YATHAM6 Insert Begin - D47K910351 05/12/2004
    When a Sales order is created with reference to another sales order
    two precding document categorys will be available for a delivery.
    Example: Order with subsequent delivery free of charge
    Need to get latest preceding document. This change was made to pull
    correct preceding document which will be on delivery line item.
    All delivery items will have the same preceding document number.
        select single vgbel from lips into wa_zpacklist-vbelv
              where vbeln = wa_zpacklist-vbeln.
    YATHAM6 Insert End   - D47K910351 05/12/2004
      SELECT SINGLE bstnk           "Customer purchase order number
                    vbeln_grp       "Master Contract NUmber
                    bstdk           "Customer Order date
             INTO  (wa_zpacklist-bstnk,
                     wa_zpacklist-vbeln_grp,
                     wa_zpacklist-bstdk)
             FROM  vbak
             WHERE vbeln = wa_zpacklist-vbelv.
    select shipment number from VTTP table using wa_zpaclist-vbeln in the
    where clause.
      SELECT tknum                  "Shipment Number
             FROM   vttp
             UP TO 1 ROWS
             INTO   wa_zpacklist-tknum_tmp
             WHERE  vbeln = wa_zpacklist-vbeln.
      ENDSELECT.
    for this value of wa_zpacklist-tknum_tmp select
    External identification 2
    Shipping type
    Number of forwarding agent
    from VTTK
      SELECT SINGLE exti2          "External identification 2
                    vsart          "Shipping type
                    tdlnr          "Number of forwarding agent
             INTO   (wa_zpacklist-exti2,
                     wa_zpacklist-vsart,
                     wa_zpacklist-tdlnr)
             FROM   vttk
             WHERE  tknum = wa_zpacklist-tknum_tmp.
    get the packing date from VEkP table for which Internal Handling
    Unit Number(VENUM) is required from VEPO table.
    get the value from VEPO table for the delivery number.
      SELECT venum
             UP TO 1 ROWS
             FROM vepo
             INTO v_venum
             WHERE vbeln = wa_zpacklist-vbeln.
        EXIT.
      ENDSELECT.
      CHECK sy-subrc = 0.
      SELECT SINGLE erdat
             FROM   vekp
             INTO   wa_zpacklist-erdat
             WHERE  venum = v_venum.
    ENDFORM.                    " get_header
    *&      Form  get_item
    Get all the item details from VBAP ,LIPS
    FORM get_item_data.
    refresh the internal tables of item data.
    data: v_tabix like sy-tabix.   "YATHAM6 Insert 03/31/2004
      REFRESH : i_item,
                i_item_lips.
    get the item details from VBAP table based on the sales document
    number(VBELV) and store the data in i_item
      SELECT   posnr             "Sales Document Item
               posex             "Item Number of the Underlying Purchase
                                 "Order
               kwmeng            "Quantity Ordered
               kdmat             "Customer Item Number
        INTO   CORRESPONDING FIELDS OF
        TABLE  i_item
        FROM   vbap
        WHERE  vbeln EQ wa_zpacklist-vbelv.
    get the item details from LIPS based on Delivery number and
    ZZCATNO(Catalog numer)from mara using an inner join between LIPS and
    MARA using matnr as key
    *Begin of GONAGUNTLA2 - @0001 02/11/2004 D47K906487
    SELECT   a~vbeln          "Delivery Number
              a~vtweg          "Distribution Channel
              a~posnr          "Delivery item
              a~lfimg          "Actual quantity delivered (in sales units)
              a~matnr          "Material Number
              b~zzcatno        "Catlog Number for each material
              FROM lips AS a
              INNER JOIN
              mara AS b
         ON   amatnr = bmatnr
        INTO  CORRESPONDING FIELDS OF
       TABLE  i_item_lips
       WHERE  a~vbeln = wa_zpacklist-vbeln.
      SELECT     a~vbeln          "Delivery Number
                 a~vtweg          "Distribution Channel
                 a~posnr          "Delivery item
                 a~pstyv          "Delivery item category
                 a~lfimg
                 "Actual quantity delivered (in sales units)
                 a~matnr          "Material Number
                 a~uepos
                 "Higher-level item in bill of material structures
                 a~vgpos          "Sales order line item
                 b~zzcatno        "Catlog Number for each material
                 FROM lips AS a
                 INNER JOIN
                 mara AS b
            ON   amatnr = bmatnr
           INTO  CORRESPONDING FIELDS OF
          TABLE  i_item_lips
          WHERE  a~vbeln = wa_zpacklist-vbeln.
    *End of GONAGUNTLA2 - @0001 02/11/2004 D47K906487
      clear the workareas
      CLEAR : wa_item,
              wa_item_lips.
    loop at the main internal table which contains the item data.
    so that the data in the internal table i_item_lips is passed in the
    i_item table
      LOOP AT i_item INTO wa_item.
        v_tabix = sy-tabix.   "YATHAM6 Insert 03/31/2004
    read the internal table i_item_lips for key Item Number(POSNR)
    because the only link between the LIPS table and VBAP table is
    (POSNR) for the same delivery number.
    *Begin of GONAGUNTLA2 - @0001 02/12/2004
       READ TABLE i_item_lips
                  INTO wa_item_lips
                  WITH KEY posnr = wa_item-posnr.
        READ TABLE i_item_lips
                   INTO wa_item_lips
                   WITH KEY vgpos = wa_item-posnr.
    *End of GONAGUNTLA2 - @0001 02/12/2004
      check whether the same POSNR value is there in the I_item_lips table
        IF sy-subrc = 0.
    *Begin of GONAGUNTLA2 - @0001 02/12/2004
          perform get_previous_del_qty using wa_zpacklist-vbelv
                                             wa_item_lips-vgpos
                                             wa_item_lips-vbeln
                                             wa_item_lips-posnr
                                             wa_item-kwmeng.
          move wa_item-kwmeng to wa_item_lips-kwmeng.
    *End of GONAGUNTLA2 - @0001 02/12/2004
      to find out the Back Orders subtract Ordered Qty (KWMENG)
      with Actual Qty (LFIMG)
          wa_item_lips-zbkord = wa_item-kwmeng - wa_item_lips-lfimg.
    Begin of Modifications - YATHAM6 12/15/2003
      if wa_item-posex is not blank the repace wa_item-posnr with it.If *
      it is not blank then don't do anything.
         IF NOT wa_item-posex IS INITIAL.
           MOVE wa_item-posex TO wa_item_lips-posnr .
         ENDIF.                  "if not wa_item-posex is initial.
          If wa_item-posex is initial.
    Begin of GONAGUNTLA2 - @0001 02/12/2004
          move wa_item-posnr to wa_item_lips-posex.
            move wa_item_lips-posnr to wa_item_lips-posex.
    *End of GONAGUNTLA2  - @0001 02/12/2004
          else.
            move wa_item-posex to wa_item_lips-posex.
          endif.
    End of Modifications - YATHAM6 12/15/2003
      modify the internal table i_item by transporting VBELN LFIMG ZCALC.
    *Begin of GONAGUNTLA2 - @0001 02/11/2004 D47K906487
         MODIFY i_item FROM wa_item_lips
                       TRANSPORTING vbeln        "Delivery Number
                                    posnr        "Delivery item
                                    posex        "   YATHAM6 Insert
    *lfimg        "Actual Quantity Delivered
                                    zbkord       "Back Order
                                    zzcatno      "Catlog Number
                                    matnr        "Material Number
                                    vtweg
                       WHERE posnr = wa_item-posnr.
       MODIFY i_item FROM wa_item_lips         "YATHAM6 Del 03/31/2004
          MODIFY i_item FROM wa_item_lips index v_tabix
                              TRANSPORTING vbeln        "Delivery Number
                                           posnr        "Delivery item
                                           posex        "   YATHAM6 Insert
                                           KWMENG
                                           "   gonaguntla2 Insert
                                           lfimg
                                           "Actual Quantity Delivered
                                           zbkord       "Back Order
                                           zzcatno      "Catlog Number
                                           matnr        "Material Number
                                           vtweg
                                           uepos
                                           pstyv.
    *Table i_item should be updated with the corresponding entry not with
    *the
    item number.
                           WHERE posnr = wa_item-posnr.   "YATHAM6 Del
        else.
    YATHAM6 Mod Begin - 04/22/2004
    Delete the Current row instead of item. Because the Delivery item
    sequence could be different than that of the Sales Order item #.
        delete i_item where posnr = wa_item-posnr.
          delete i_item index v_tabix.
    YATHAM6 Mod End - 04/22/2004
    *End of GONAGUNTLA2 - @0001 02/11/2004 D47K906487
        ENDIF.                  " if sy-subrc = 0.
      ENDLOOP.                  "loop at i_item
    now once the i_item internal table is full
    check it.
      IF NOT i_item[] IS INITIAL.
        sort i_item[] by vbeln descending posex.   "YATHAM6 Insert
    move the data from i_item into the structure wa_zpacklist.
        wa_zpacklist-zitempack_tb[] = i_item[].
      ENDIF.                    "if not i_item[] is initial.
    ENDFORM.                    " get_item
    *&      Form  get_addr
          text
    Get the address numbers for shipping point ,ship-to-party and
    sold-to-party from VBFA,TVST tables
    FORM get_addr_no .
    To find out the addresses of sold-to-party, goto table VBPA select
    the address number ADRNR
      SELECT SINGLE adrnr          "Address Number
                INTO wa_zpacklist-adrnrstp
                FROM vbpa
    YATHAM6 Mod Begin - 04/15/2004
    Get the address numbers for the Delivery instead of Sales order
             WHERE vbeln =  wa_zpacklist-vbelv
               WHERE vbeln =  wa_zpacklist-vbeln
    YATHAM6 Mod End  - 04/15/2004
                 AND parvw = c_parvw_stp.
    To find out the addresses of ship-to-party, goto table VBPA select
    the address number ADRNR
      SELECT SINGLE adrnr         "Address Number
                INTO wa_zpacklist-adrnrshp
                FROM vbpa
    YATHAM6 Mod Begin - 04/15/2004
    Get the address numbers for the Delivery instead of Sales order
             WHERE vbeln =  wa_zpacklist-vbelv
               WHERE vbeln =  wa_zpacklist-vbeln
    YATHAM6 Mod End  - 04/15/2004
                 AND parvw = c_parvw_shp.
    To select the addresses for Shipping point find out the address *
    number from TVST table .
      SELECT SINGLE adrnr         "Address Number
               INTO wa_zpacklist-adrnr
               FROM tvst
              WHERE vstel = wa_zpacklist-vstel.
    ENDFORM.                    " get_addr
    *&      Form  set_print_param
    Set the print paramters for the smartform
    FORM set_print_param  CHANGING v_control_param  TYPE ssfctrlop
                                  v_composer_param TYPE ssfcompop
                                  v_recipient      TYPE  swotobjid
                                  v_sender         TYPE  swotobjid
                                  v_retcode        TYPE sy-subrc.
      DATA: v_itcpo     TYPE itcpo.
      DATA: v_repid     TYPE sy-repid.
      DATA: v_device    TYPE tddevice.
      v_repid = sy-repid.
      CALL FUNCTION 'WFMC_PREPARE_SMART_FORM'
        EXPORTING
          pi_nast       = nast
          pi_repid      = v_repid
        IMPORTING
          pe_returncode = v_retcode
          pe_itcpo      = v_itcpo
          pe_device     = v_device
          pe_recipient  = v_recipient
          pe_sender     = v_sender.
      IF v_retcode = 0.
        MOVE-CORRESPONDING v_itcpo TO v_composer_param.
        v_control_param-device      = v_device.
        v_control_param-no_dialog   = c_X.
        v_control_param-preview     = v_screen.
        v_control_param-getotf      = v_itcpo-tdgetotf.
        v_control_param-langu       = nast-spras.
      ENDIF.
    ENDFORM.                    " set_print_param
    *&      Form  protocol_update
          text
    Error Handling
    FORM protocol_update .
      CHECK v_screen = space.
      CALL FUNCTION 'NAST_PROTOCOL_UPDATE'
        EXPORTING
          msg_arbgb = syst-msgid
          msg_nr    = syst-msgno
          msg_ty    = syst-msgty
          msg_v1    = syst-msgv1
          msg_v2    = syst-msgv2
          msg_v3    = syst-msgv3
          msg_v4    = syst-msgv4
        EXCEPTIONS
          OTHERS    = 1.
    ENDFORM.                    " protocol_update
    *&      Form  get_previous_del_qty
          text
    -->  p1        text
    <--  p2        text
    FORM get_previous_del_qty using f_so
                                    f_so_item
                                    f_del
                                    f_del_item
                                    f_so_qty.
      data: begin of i_vbfa_tab occurs 0,
              vbeln like vbfa-vbeln,
              posnn like vbfa-posnn,
            end of i_vbfa_tab.
      data: fv_lfimg like lips-lfimg.
      select vbeln posnn into table i_vbfa_tab from vbfa
                         where vbelv   eq f_so
                           and posnv   eq f_so_item
                           and vbtyp_n eq 'J'.
      loop at i_vbfa_tab.
        if i_vbfa_tab-vbeln ne f_del.
          clear fv_lfimg.
          select single lfimg into fv_lfimg
                              from lips
                              where vbeln eq i_vbfa_tab-vbeln
                                and posnr eq i_vbfa_tab-posnn.
          f_so_qty = f_so_qty - fv_lfimg.
        endif.
      endloop.
    ENDFORM.                    " get_previous_del_qty

  • Delivery Notes Generation Via Pick List

    Am trying to generate delivery notes off pick tickets and i can't find any code example. I now came up with the following code but am having issues when items are in multiple Bin Locations.
    Public Sub Sales2Delivery() '(ByVal OrderID As String)
            Dim OrderID As String = ""
            Try
                Using connection As New SqlConnection(StaginConn)
                    'Dim command As New SqlCommand("SELECT DocEntry from ORDR with (nolock) WHERE NumAtCard = '" & OrderID & "'", connection)
                    Dim command As New SqlCommand("SET DATEFORMAT DMY; select distinct top 5 o.DocEntry, o.NumAtCard from ordr O with (nolock) join RDR1 R with (nolock) on R.DocEntry = O.DocEntry join OPKL P with (nolock) on P.AbsEntry = R.PickIdNo where u_shipstate = 'Delivered' and CAST(O.docdate as date) >= '30/04/2014' and P.Status = 'Y';", connection)
                    connection.Open()
                    Dim reader As SqlDataReader = command.ExecuteReader()
                    ' Call Read before accessing data.
                    While reader.Read()
                        Dim BusinessOrders As Documents = DirectCast(vCompany.GetBusinessObject(BoObjectTypes.oOrders), Documents)
                        Dim BusinessDelivery As Documents = DirectCast(vCompany.GetBusinessObject(BoObjectTypes.oDeliveryNotes), Documents)
                        Dim orders As Documents = BusinessOrders
                        orders.GetByKey(Convert.ToInt32(reader(0)))
                        OrderID = Convert.ToString(reader(1))
                        Dim Delivery As Documents = BusinessDelivery
                        Delivery.CardCode = orders.CardCode
                        Delivery.CardName = orders.CardName
                        Delivery.NumAtCard = orders.NumAtCard
                        'Delivery.DocNum = orders.DocNum
                        Delivery.HandWritten = BoYesNoEnum.tNO
                        Delivery.Series = 8
                        Delivery.DocDate = DateTime.Today
                        Delivery.DocDueDate = DateTime.Today
                        Delivery.TaxDate = DateTime.Today
                        Delivery.Address = orders.Address
                        Delivery.Address2 = orders.Address2
                        Delivery.Comments = "Based on Sales Order #" + orders.NumAtCard & "."
                        Delivery.DocCurrency = orders.DocCurrency
                        Delivery.DocDueDate = orders.DocDueDate
                        Delivery.DocObjectCode = SAPbobsCOM.BoObjectTypes.oDeliveryNotes
                        Delivery.ShipToCode = orders.ShipToCode
                        Dim lines As Document_Lines = orders.Lines
                        'If (count > 0) Then
                        '    lines.Add()
                        '    lines.SetCurrentLine((lines.Count - 1))
                        'End If
                        Dim oPickList As PickLists = DirectCast(vCompany.GetBusinessObject(BoObjectTypes.oPickLists), PickLists)
                        oPickList.GetByKey(orders.Lines.PickListIdNumber)
                        For i As Int32 = 0 To (lines.Count - 1)
                            If i > 0 Then
                                Delivery.Lines.Add()
                                Delivery.Lines.SetCurrentLine(i)
                            End If
                            ' Set the Current Lines on the order
                            orders.Lines.SetCurrentLine(i)
                            Try
                                oPickList.Lines.SetCurrentLine(i)
                                Delivery.Lines.BaseEntry = oPickList.Lines.OrderEntry
                                Delivery.Lines.BaseLine = oPickList.Lines.OrderRowID
                                Delivery.Lines.Quantity = oPickList.Lines.PickedQuantity
                                Delivery.Lines.BaseType = DirectCast(SAPbobsCOM.BoObjectTypes.oOrders, Integer)
                                Delivery.Lines.BinAllocations.BinAbsEntry = oPickList.Lines.BinAllocations.BinAbsEntry
                                Dim rs As SAPbobsCOM.Recordset = vCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset)
                                rs.DoQuery("select itemcode, price, dscription from RDR1 R where R.LineNum = " & oPickList.Lines.OrderRowID & " and R.PickIdNo = " & oPickList.Lines.AbsoluteEntry)
                                While (rs.EoF <> True)
                                    Delivery.Lines.ItemCode = rs.Fields.Item(0).Value.ToString 'orders.Lines.ItemCode
                                    Delivery.Lines.UnitPrice = CType(rs.Fields.Item(1).Value.ToString, Double) 'orders.Lines.UnitPrice
                                    Delivery.Lines.ItemDescription = rs.Fields.Item(2).Value.ToString 'orders.Lines.ItemDescription
                                    rs.MoveNext()
                                End While
                                rs = Nothing
                            Catch ex As Exception
                                Continue For
                                My.Computer.FileSystem.WriteAllText(_LogPath, ErrDetails.ToString, True)
                            End Try
                        Next
                        If Delivery.Add() <> 0 Then
                            ErrDetails.AppendLine(" Unable to create Delivery note for Order: " & OrderID & " <br /> " & vCompany.GetLastErrorCode() & ":" & vCompany.GetLastErrorDescription())
                        Else
                            ErrDetails.AppendLine("Successfully created Delivery note for Order:" & OrderID) ' & " as requested by " & UserEmail & ".")
                        End If
                        orders = Nothing
                        Delivery = Nothing
                        BusinessOrders = Nothing
                        BusinessDelivery = Nothing
                        My.Computer.FileSystem.WriteAllText(_LogPath, ErrDetails.ToString, True)
                    End While
                    'orders = Nothing
                    'BusinessOrders = Nothing
                End Using
            Catch ex As Exception
                ErrDetails.AppendLine(" Error generating Delivery note for Order: " & OrderID & " <br /> " & ex.ToString())
                My.Computer.FileSystem.WriteAllText(_LogPath, ErrDetails.ToString, True)
            Finally
                If Not String.IsNullOrWhiteSpace(ErrDetails.ToString) Then
                    My.Computer.FileSystem.WriteAllText(_LogPath, (ChrW(13) & ChrW(10) & ChrW(13) & ChrW(10) & "Errors encountered while registering data on " & System.DateTime.Now.ToString("F") & ".Errors:" & ChrW(13) & ChrW(10) & Me.ErrDetails.ToString), True)
                Else
                    My.Computer.FileSystem.WriteAllText(_LogPath, (ChrW(13) & ChrW(10) & ChrW(13) & ChrW(10) & "Application Ran successfully on " & System.DateTime.Now.ToString("F") & "."), True)
                End If
            End Try
        End Sub
    The Error message am getting is 1470000368 - The quantity allocated to bin locations must be positive.

    Am getting this error now is
    "1470000341 - Fully allocate item "1017494" to bin locations in warehouse "Isolo". Issue is we have items in multiple Bin locations and the items have been picked via the pick ticket. Is it also possible to generate the delivery note off the Pick List.
    The new code am using is
        Public Sub Sales2Delivery() '(ByVal OrderID As String)
            Dim OrderID As String = ""
            Try
                Using connection As New SqlConnection(StaginConn)
                    'Dim command As New SqlCommand("SELECT DocEntry from ORDR with (nolock) WHERE NumAtCard = '" & OrderID & "'", connection)
                    Dim command As New SqlCommand("SET DATEFORMAT DMY; select distinct top 5 o.DocEntry, o.NumAtCard from ordr O with (nolock) join RDR1 R with (nolock) on R.DocEntry = O.DocEntry join OPKL P with (nolock) on P.AbsEntry = R.PickIdNo where u_shipstate = 'Delivered' and CAST(O.docdate as date) >= '30/04/2014' and P.Status = 'Y' and o.DocStatus = 'O';", connection)
                    connection.Open()
                    Dim reader As SqlDataReader = command.ExecuteReader()
                    ' Call Read before accessing data.
                    While reader.Read()
                        Dim BusinessOrders As Documents = DirectCast(vCompany.GetBusinessObject(BoObjectTypes.oOrders), Documents)
                        Dim BusinessDelivery As Documents = DirectCast(vCompany.GetBusinessObject(BoObjectTypes.oDeliveryNotes), Documents)
                        Dim orders As Documents = BusinessOrders
                        orders.GetByKey(Convert.ToInt32(reader(0)))
                        OrderID = Convert.ToString(reader(1))
                        Dim Delivery As Documents = BusinessDelivery
                        Delivery.CardCode = orders.CardCode
                        Delivery.CardName = orders.CardName
                        Delivery.NumAtCard = orders.NumAtCard
                        'Delivery.DocNum = orders.DocNum
                        Delivery.HandWritten = BoYesNoEnum.tNO
                        'Delivery.Series = 8
                        Delivery.DocDate = DateTime.Today
                        Delivery.DocDueDate = DateTime.Today
                        Delivery.TaxDate = DateTime.Today
                        Delivery.Address = orders.Address
                        Delivery.Address2 = orders.Address2
                        Delivery.Comments = "Based on Sales Order #" + orders.NumAtCard & "."
                        Delivery.DocCurrency = orders.DocCurrency
                        Delivery.DocDueDate = orders.DocDueDate
                        Delivery.DocObjectCode = SAPbobsCOM.BoObjectTypes.oDeliveryNotes
                        Delivery.ShipToCode = orders.ShipToCode
                        Dim lines As Document_Lines = orders.Lines
                        'If (count > 0) Then
                        '    lines.Add()
                        '    lines.SetCurrentLine((lines.Count - 1))
                        'End If
                        Dim oPickList As PickLists = DirectCast(vCompany.GetBusinessObject(BoObjectTypes.oPickLists), PickLists)
                        oPickList.GetByKey(orders.Lines.PickListIdNumber)
                        For i As Int32 = 0 To (lines.Count - 1)
                            If i > 0 Then
                                Delivery.Lines.Add()
                                Delivery.Lines.SetCurrentLine(i)
                            End If
                            ' Set the Current Lines on the order
                            orders.Lines.SetCurrentLine(i)
                            Try
                                oPickList.Lines.SetCurrentLine(i)
                                Delivery.Lines.BaseEntry = oPickList.Lines.OrderEntry
                                Delivery.Lines.BaseLine = oPickList.Lines.OrderRowID
                                Delivery.Lines.Quantity = oPickList.Lines.PickedQuantity
                                Delivery.Lines.BaseType = DirectCast(SAPbobsCOM.BoObjectTypes.oOrders, Integer)
                                'Dim rs As SAPbobsCOM.Recordset = vCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset)
                                'rs.DoQuery("select itemcode, price, dscription from RDR1 R where R.LineNum = " & oPickList.Lines.OrderRowID & " and R.PickIdNo = " & oPickList.Lines.AbsoluteEntry)
                                'While (rs.EoF <> True)
                                Delivery.Lines.ItemCode = orders.Lines.ItemCode
                                Delivery.Lines.UnitPrice = orders.Lines.UnitPrice
                                Delivery.Lines.ItemDescription = orders.Lines.ItemDescription
                                '            rs.MoveNext()
                                '            End While
                                'rs = Nothing
                            Catch ex As Exception
                Continue For
                My.Computer.FileSystem.WriteAllText(_LogPath, ErrDetails.ToString, True)
            End Try
                        Next
                        If Delivery.Add() <> 0 Then
                            ErrDetails.AppendLine(" Unable to create Delivery note for Order: " & OrderID & " <br /> " & vCompany.GetLastErrorCode() & ":" & vCompany.GetLastErrorDescription())
                        Else
                            ErrDetails.AppendLine("Successfully created Delivery note for Order:" & OrderID) ' & " as requested by " & UserEmail & ".")
                        End If
                        orders = Nothing
                        Delivery = Nothing
                        BusinessOrders = Nothing
                        BusinessDelivery = Nothing
                        My.Computer.FileSystem.WriteAllText(_LogPath, ErrDetails.ToString, True)
                    End While
                    'orders = Nothing
                    'BusinessOrders = Nothing
                End Using
            Catch ex As Exception
                ErrDetails.AppendLine(" Error generating Delivery note for Order: " & OrderID & " <br /> " & ex.ToString())
                My.Computer.FileSystem.WriteAllText(_LogPath, ErrDetails.ToString, True)
            Finally
                If Not String.IsNullOrWhiteSpace(ErrDetails.ToString) Then
                    My.Computer.FileSystem.WriteAllText(_LogPath, (ChrW(13) & ChrW(10) & ChrW(13) & ChrW(10) & "Errors encountered while registering data on " & System.DateTime.Now.ToString("F") & ".Errors:" & ChrW(13) & ChrW(10) & Me.ErrDetails.ToString), True)
                Else
                    My.Computer.FileSystem.WriteAllText(_LogPath, (ChrW(13) & ChrW(10) & ChrW(13) & ChrW(10) & "Application Ran successfully on " & System.DateTime.Now.ToString("F") & "."), True)
                End If
            End Try
        End Sub

  • BW Hierarchies sometimes not showing as pick list

    Hi,
    we have created a Crystal Report that uses a parameter that should be picked from a BW hierarchy (a cost center group). We created the report and published it via the BW publisher to BO and then included it with an iView in the BW Portal.
    Now when I log on to the portal and call the report, I'm presented with the static pick list (top 200 values) most of the time instead of the hierarchy view (as described in http://wiki.sdn.sap.com/wiki/display/BOBJ/CrystalReportsandBWquery+elements in the lower part of the article)
    When I then log on to the CMC and call the report there, I first get the flat list, too, but when I call the report 2 or 3 times, I get the hierarchy view. When I now go back to the BW Portal, I get thet hierarchy view there as well...
    any idea what causes this issue? How can I influence which selection screen is being displayed? (particularly as I don't want everyone to have to log on to CMC first...)
    Thanks...

    Hi Duncan,
    thank you for your reply. It's really sort of tricky.
    After the pick list is up and ready once, It'll be shown fine from that point on until, I assume, my CMC login expires.
    So maybe it's some permission problem?
    I just tested the following:
    <ul>
    <li>log into portal, call report -> flat list
    <li>log into CMC -> call report (does not have to be the same, just has to have a hierarchy pick list, a simple report does not do the trick) -> check that it has the hierarchy pick list
    <li>go back to the portal, call the report again -> hierarchy pick list comes up ok
    <li>log off from CMC
    <li>go back to the portal, call the report again -> flat list again...
    </ul>
    the whole thing works the same when I replace CMC by InfoView. The strange thing is that I have to log in to Infoview the first time I call the report from the portal (even though we have SAP credentials in BO), but this does not seem to be sufficient. I have to call one of the reports in Infoview or CMC first to make it work from the portal.
    Concerning the trace, I'll have to look into this together with our sysadmins, but I'll see what I can get.
    Thanks again for your ideas,
    cheers
    MU

  • We have a long list of disabled/deleted users in AD Somehow, they are still appeared as active user in Sharepoint Online. How do we get rid of those list? Hope you can advice. Thanks.

    we have a long list of disabled/deleted users in AD
    Somehow, they are still appeared as active user in Sharepoint Online.
    How do we get rid of those list?
    Hope you can advice. Thanks.

    SharePoint does not remove users from SharePoint permissions just because they were deleted/disabled in AD. This is to maintain referential integrity. In fact, when you delete a user from SharePoint, that user remains in the SharePoint content database,
    just marked as deleted.
    They do not have access to SharePoint given their account is deleted/disabled. But as far as automatically managing this, I'm not aware of a tool. On-prem there is Metalogix ControlPoint which does a great job of this, I haven't explored the O365 options.
    Trevor Seward
    Follow or contact me at...
    &nbsp&nbsp
    This post is my own opinion and does not necessarily reflect the opinion or view of Microsoft, its employees, or other MVPs.

  • Crystal Parameter Hierarchy Pick List not showing in Infoview

    Hello,
    We are having an issue with crystal reports not showing the hierarchy pick list in infoview.
    We have 3 environments, Dev, QA, Prod.
    Business Objects environments consist of 3 separate servers
    Dev
    Windows Server 2003 64bit
    BOXI 3.1 with Service Pack 2
    Integration Kit 3.1 with SP2
    Crystal Reports V1 SP2
    QA
    Windows Server 2003 64bit
    BOXI 3.1 with Service Pack 2
    Integration Kit 3.1 with SP2
    Crystal Reports V1 SP2
    Prod
    Windows Server 2003 64bit
    BOXI 3.1 with Service Pack 2
    Integration Kit 3.1 with SP2
    Crystal Reports V1 SP2
    SAP BW Environments consist of 2 server landscapes, with DEV / QA sitting on 1 and production on its own.
    ServerA
    Dev and QA
    ServerB
    Prod
    We create a crystal report in Dev BOBJ, and publish to DEV SAP BW system sitting on ServerA.
    The picklist shows hierarchy properly in Dev Infoview.
    We then LCM the report to QA BOBJ, and Do Not publish to QA SAP BW system sitting on ServerA.
    We transport the role that the report was published to, from Dev SAP BW to QA SAP BW
    The picklist shows hierarchy properly in QA Infoview.
    We then LCM the report to PROD BOBJ, and Do Not publish to PROD SAP BW system sitting on ServerB.
    We transport the role from QA SAP BW to Prod SAP BW
    The picklist does NOT show hierarchy properly in Prod Infoview.
    We are a bit confused on why the picklist works properly on QA Infoview without publishing, but will not work on Production Infoview.
    Is it because the repository objects for the picklist contain some server paths? (Since DEV and QA sit on the same server "ServerA")
    Do we need to publish in production SAP BW for the hierarchy pick list to function?
    Any help would be appreciated,
    Thanks!
    Nick

    Hi Nick,
    Did you get this resolved? We are encountering the same issue.  We have migrated our report from QA to Prod using BW Transport and then used BW Publisher to publish to BOE.  The parameter list shows in InfoView for Dev and QA, but not Prod.
    We're using BOE SP2 FP 2.8

  • Need to avoid exception w.r.t database when caching disabled, skip database

    I have a situation here.
    Want to bypass database connection if caching disabled. If caching found enable, only then try to establish a database connection.
    One part of application should work when database is down as it doesn't require connection to database at all.
    While other parts should throw exception when database connection not available.
    the piece of code looks like this:
    public byte[] getStagedSchedule(long begin, int channelID, String stage, String username, String password, Number releaseID, Number planningTypeId ) throws SchedExExportException, SecurityServiceException
    byte[] ret = null;
    try
    Date myDate = new Date(begin);
    this.stageConfig = new StageConfig(stage, new Integer(channelID), myDate);
    if(!this.stageConfig.isCached())
    IService service = null; //database connection not required here (can handle that part)
    StageAccessService myStage = new StageAccessService(service, myDate, new Integer(channelID), stage,username, releaseID, planningTypeId);
    try{
    ret = myStage.getXML();
    catch(SchedExExportException e){
    LogUtils.getExtLogger().error("PSIStopProcessException: " + e.getMessage(), null, null, e);
    throw new SchedExExportException(e);
    else{
    IService service = ServiceFactory.getInstance("TxSchedEx"); //database connection string
    StageAccessService myStage = new StageAccessService(service, myDate, new Integer(channelID), stage,username, releaseID, planningTypeId);
    ret = myStage.getXML();
    if(service != null)
    service.release();
    catch (ServiceException e)
    LogUtils.getExtLogger().error("ServiceException: " + e.getMessage(), null, null, e);
    throw new SchedExExportException(e);
    return ret;
    Now this code is working as per my requirement. for the time being.
    But have two major problems to be solved here.
    1) this piece of code :
    this.stageConfig = new StageConfig(stage, new Integer(channelID), myDate);
    is getting called in other class as well. i.e. inside this:
    StageAccessService myStage = new StageAccessService(service, myDate, new Integer(channelID), stage,username, releaseID, planningTypeId);
    have initialise method. which internally calls this method:
    private boolean initialize(IService service, Date date, Number channel, String stage, Number releaseId, Number planningTypeId) throws PSIStopProcessException
    boolean ret = false;
    if ( ( null != service ) && ( null != date ) && ( null != channel)&& ( null != stage))
    this.service = service;
    this.scheduleDate = date;
    this.scheduleChannel = channel;
    this.stageConfig = new StageConfig(stage, channel, date);
    this.planningTypeId = planningTypeId;
    this.givenReleaseId = releaseId;
    ret = true;
    initRelease(releaseId);
    else if ( ( null == service ) && ( null != date ) && ( null != channel)&& ( null != stage)) // just to handle if database connection not available.
    this.scheduleDate = date;
    this.scheduleChannel = channel;
    this.stageConfig = new StageConfig(stage, channel, date);
    this.planningTypeId = planningTypeId;
    this.givenReleaseId = releaseId;
    ret = true;
    return ret;
    Because StageAccessService is the real entry point for all other classes to access information about stage (staging). (So making StageConfig singleton, won't help me)
    Now is there any way i can avoid :
    this.stageConfig = new StageConfig(stage, channel, date);
    getting called twice in my code.
    why this is required is this method checks for caching real values.
    public byte[] getXML() throws SchedExExportException
    byte[] ret = null;
    if ( !this.stageConfig.isCached() )
    ret = dynamicLoadXML();
    else
    ret = loadReleaseFromStage();
    if (ret == null && this.stageConfig.isLazyLoading())
    ret = dynamicLoadXML();
    saveScheduleInStage(ret);
    and so on.............
    try{
    if (this.stageConfig.isTransformSchedules() && ret != null)
    etc
    2) Other workaround can be like: check if database connection is there or not. log the exception in catch block. but don't throw back.
    So that the part which doesn't require database connection can work. But if request is not calling that part, then better throw exception also.
    I don't know whihc approcah is good in this case.
    Can anyone suggest anything better then this.
    thanks.

    I'm afraid that you need to provide further info about your two databases like versions, whether they have the replication option installed etc.
    Generally speaking you have two methods available:
    1. Use the replication options (needs setup like repadmins, master sites, snapshots etc)
    2. Script it yourself (ie rewrite the replicator :-) trough DBlinks, stored procedures etc.
    I would reccommend option 1 since you do not need to re-invent the wheel.
    null

Maybe you are looking for

  • Using aggregation in ABAP code for internal table

    I have written following code to get cumulative amount on a date but i have to hit database for each record. Can't I use some function similar to SUM for doing the same thing on internal table??It would increase my performance. code is:     SELECT SU

  • Cracked how much is it going to cost?

    ok here is the deal ipod 4th generation screen is cracked and i love my ipod how much is it going to cost for apple to repair my ipod 4th generation 8 gb? please help me!

  • Connecting linksys to fios actiontec router

    About six months ago my family got verizon FiOS. They came in and set up everything and even took the liberty to remove the linksys router I had before. Well, their Actiontec router doesnt really satisfy me as well as my linksys router did before and

  • Naming Conventions for Workflow

    Hello, does anybody have a document for Naming Conventions for Workflow. I found nothing the last hour. Thanks in advance for any help ... Stefanie

  • 10g Patch with WebUtil

    Any word on the ODS 10g patch with auto-install of WebUtil? Is this something that is realistically coming soon? (Just trying to avoid having to install it manually.) Thanks.