CC&B Change Handler

Hi,
Please Help me!
i am new in cc&b and java. i want to write a handler for premise screen of cc&b 2.3.1 as follows
1 check if postal is null then raise error
2 if not null then Validate Input field postal. If postal does not exist, raise error "Invalid postal"
Any advice would be appreciated
please help in this, i will be very thankfull to you.
Thanks
Edited by: 883445 on Sep 7, 2011 3:09 AM
Edited by: 883445 on Sep 13, 2011 11:53 PM
Edited by: 883445 on Sep 13, 2011 11:54 PM

All BO level configurations are nothing but MetaData.
At BO level, schema validations are performed when you are defining/saving the BO itself. You are inserting a XML message in the XML_SOURCE field of the Outbound Message Table. This is a CLOB field. There is no validation performed when you insert your message in the aforementioned column and it can be any value.
MPL applies schema validation when the messsage is ready to be dispatched. At this time, W3C Schema definition set on the External System for the Outbound Message Type is applied. If your message does not adhere to the XSD, there will be errors reported in the MPL.log
Pre-requisites were already mentioned in the previous post.

Similar Messages

  • Setting filterFunction on ArrayCollection acting as provider for DDL--and change handler not firing?

    Hi All,
    I've got a Spark DropDownList (I'm on Flex SDK 4.0, Flash Builder 4).
    That DropDownList has an ArrayCollection as its dataProvider property, and in response to user gestures, I change the filterFunction on the ArrayCollection (and call ArrayCollection.refresh()) to update the list of items in the DropDownList.  This works fine.
    However, what I wasn't expecting was that neither my change event handler, nor my valueCommit event handler gets called when the selected item in the DropDownList changes due to the filterFunction filtering out items from the ArrayCollection.
    In other words, let's say I have items A, B, and C in ArrayCollection (and thus, also as items in my DropDownList).  Item A is currently selected, but I then set the ArrayCollection.filterFunction to something, and call ArrayCollection.refresh().  Items A and B are filtered out by the filterFunction, and it disappears from the DropDownList, causing item C (the next available item after A and B) to be selected.  But, even though the selected item has changed, neither my change handler nor my valueCommit handler get called.
    I know the handlers are working, because the change handler gets called when the user selects a new item from the DropDownList, and the valueCommit handler gets called when the selectedIndex is changed programmatically in code, as expected.
    Is this a known issue?  Is there an event I can listen to so I can know when the selected item has changed in this circumstance?
      -Josh

    I'm not on a beta.  I'll try post a short test case as soon as I am able, but I'm in the final week before a major project deadline and as a result I've got to stay pretty focused on that :-)

  • Change handler handleRegisteredChange() method

    I have create a validation in which number of tender deposit >= tender control list
    I have override handleAddOrChange() method on deleting tender deposit list validation is fire before saving the data so due to which number of tender deposit list count is coming wrong.
    For example if number of tender control is 2 and number of tender deposit is also 2.
    On deleting one tender deposit list(now 2-1 = 1) and click on save button the number of teder deposit is coming 2.
    Since validation is fire before saving data.
    This type of child list validation is handle by handleRegisteredChange() method in change handler.
    But this method is triggered only if it is called by BusinessEntity(DepositControl).registerChange(change); method.
    But what is change parameter and how to make this parameter, I am not getting. So please if any body have idea regarding this. Below is the code--
    * @ChangeHandler (entityName = depositControl)
    public class CmDepositControl_CHandler extends AbstractChangeHandler<DepositControl>{
         private static final Logger logger = LoggerFactory.getLogger(CmDepositControl_CHandler.class);
         @Override
         public void handleAddOrChange(DepositControl dcEntity, DataTransferObject<DepositControl> prevDto) {
              // TODO Auto-generated method stub
              super.handleAddOrChange(dcEntity, prevDto);
              logger.info("[===] Inside handleAdd or Change");
              /*if(getOpenDepositControl(dcEntity) > 1)
                   addError(CustomMessageRepository.oneOpenCashierControlAllowed());*/
              if(getTenderControls(dcEntity) > getTenderDeposits(dcEntity))
                   addError(CustomMessageRepository.tndCtrlDepCtrlCompare());
              logger.info("[===] Complete");
              try {
                   logger.info("[===] Before registerChange");
                   dcEntity.registerChange(change); ///////// how to create this change parameter
              } catch (InstantiationException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
              } catch (IllegalAccessException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
    Edited by: Atul Singh on Sep 4, 2012 10:38 PM

    Hi
    Whenever you change dep key in Asset Master,no need to pass any adjustment entries as system will recalculate the dep and will post adjustments in the next period dep run.
    Please execute AFAR (recalculate dep), it will recalculate dep and will give you old value and new value diff . if any.
    Then you can run your normal dep run , it will adjust all the differences in dep.
    cheers
    Mukta

  • Change Handling Unit Dimensions

    Hi,
    Is there any function module to change Handling Unit Dimensions (length, height and width).
    BAPI_HU_HEADER_CHANGE does not help as this FM works only for non-assigned handling units where vpobj eq 12 ,05 and 06.
    I need something for VPOBJ = 01.
    Any idea. Thanks in advance.

    Hi,
    Why you need to change the dimension of Handling Unit ?
    Dimension of Handling Units are derived from the packaging material types, if you have a packaging material type like Pallet of different dimension you should create a different packaging material type and use.
    As this dimension of Handling Units is further required to calculate the Storage Bin Capacity in your warehouse.
    Please check and confirm.
    Regards,
    Harsh

  • Trigger ComboBox change handler before application displays

    I have a ComboBox in a foods catalog, with has a list of categories, say, like this:
    All Categories
    Meats
    Fish
    Pasta
    All categories are loaded at first, then, on the change event in the ComboBox, the food catalog is filtered and only foods in the selected category are displayed.
    I want to eliminate the "All Categories" choice and just have the other three options in the ComboBox – On initial display, the ComboBox selectedItem would be Meats (selectedIndex = 0) but all the catalog items appear because the entire catalog is created on Application creationComplete.
    The ComboBox is in a custom component.
    The change handler is defined in that same component.
    So, what I really need is to trigger that change handler before the display appears.
    How do I achieve this?
    Any ideas would be greatly appreciated.
    Carlos

    If this post answers your question or helps, please mark it as such.
    Greg Lafrance
    www.ChikaraDev.com
    Flex Development, Training, and Support Services
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
      <mx:Script>
        <![CDATA[
          import mx.events.ListEvent;
          private function changeFunc(evt:ListEvent):void{
            switch(evt.currentTarget.selectedLabel){
              case "All Categories":
                vs.selectedChild=all;
                break;
              case "Meats":
                vs.selectedChild=meats;
                break;
              case "Fish":
                vs.selectedChild=fish;
                break;
              case "Pasta":
                vs.selectedChild=pasta;
                break;
        ]]>
      </mx:Script>
      <mx:ComboBox id="cmbx" change="changeFunc(event);"
        creationComplete="cmbx.selectedItem='Meats';cmbx.dispatchEvent(new ListEvent(ListEvent.CHANGE))">
        <mx:dataProvider>
          <mx:String>All Categories</mx:String>
          <mx:String>Meats</mx:String>
          <mx:String>Fish</mx:String>
          <mx:String>Pasta</mx:String>
        </mx:dataProvider>
      </mx:ComboBox>
      <mx:ViewStack id="vs">
        <mx:VBox id="all" width="300" height="200" backgroundColor="0x000000"/>
        <mx:VBox id="meats" width="300" height="200" backgroundColor="0xFFFFFF"/>
        <mx:VBox id="fish" width="300" height="200" backgroundColor="0x0000FF"/>
        <mx:VBox id="pasta" width="300" height="200" backgroundColor="0xFF0000"/>
      </mx:ViewStack>
    </mx:Application>

  • How to Change Handling Unit User Status

    Hi All,
    I am trying to change the HU Status using FM 'STATUS_CHANGE_EXTERN' but its not working.
                 lx_huheader-hu_id  is the Internal Handling unit number.
                CONCATENATE 'HU'
                            lx_huheader-hu_id INTO
                            lv_objnr.           
                CALL FUNCTION 'STATUS_CHANGE_EXTERN'
                  EXPORTING
                    client              = sy-mandt
                    objnr               = lv_objnr
                    user_status         = 'E0002'
                  EXCEPTIONS
                    object_not_found    = 1
                    status_inconsistent = 2
                    status_not_allowed  = 3
                    OTHERS              = 4.
    Please guide me.
    Thanks
    Srinath

    HI...
    add this Export parameter in the call of function module,
               SET_CHGKZ                 = 'X'
    after chef id the objnr is correct.........remember to call the commit work, or BAPI_TRANSACTION_COMMIT after the status change.
    Marco

  • Changing Handling unit weight does not update delivery header weight

    Dears,
    when we pack an item on a palett, system calculates tara-weight + material weight = gross weight and inserts this value to the likp-btgew. this is correct.
    now it happens, that shipping departement uses a scale to get the 'real' weight of the handling unit. if the weigth differs, they change the loading weight of the HU. system calculates correct the new gross weight of the HU.
    But when going back to delivery view, the likp-btgew is not updated. Do we miss a setting?
    thanks a lot for your help!
    Michael

    wrong forum

  • Changing Handling unit type description

    Hi,
       Can we change the Handling unit type description.
    For eg.
    Currently I have it as follows
    Type of HU   Short Text
    0                       Carton
    can i change it as follows
    Type of HU   Short Text
    0                       XXX
    Pls let me know the procedure do the changes.

    Hello,
    OMLB for storage unit types.
    Though if you are EWM then:
    Integration with Other mySAP.com Components> Extended Warehouse Management> Additional Material Attributes --> Attribute Values for Additional Material Master Fields --> Define Handling Unit Type 
    MArk as helpful.
    Regards
    Waza

  • How to get event source from value property changed handler?

    I am relatively new to JavaFX, so perhaps this is an easy question to answer. I am creating in Java code several (e.g., 5) ChoiceBox instances. I add a handler for when the value of the ChoiceBox changes. My code:
    ChoiceBox<String> rpmSelector = new ChoiceBox<>();
    ObservableList<String> rpmSelectorItems = FXCollections.observableArrayList();
    rpmSelectorItems.add(ALL_RPM);
    for (Double engSpeed : engSpeeds) {
        rpmSelectorItems.add(String.format("%.0f", engSpeed.doubleValue()));
    rpmSelector.setItems(rpmSelectorItems);
    rpmSelector.getSelectionModel().selectFirst();
    rpmSelector.valueProperty().addListener(new ChangeListener<String>() {
        @Override
        public void changed(ObservableValue<? extends String> obsValue,
                String oldValue, String newValue) {
           // How can I get the ChoiceBox that was the source of this event?
    });My question is: in the "changed" method, how do I determine which of the ChoiceBox instances had its value changed?
    Thanks!
    Chris
    Edited by: 976245 on May 15, 2013 1:05 PM
    Edited by: 976245 on May 15, 2013 1:05 PM

         My question is: in the "changed" method, how do I determine which of the ChoiceBox instances had its value changed?You have only one ChoiceBox control. Probably you want to get the selected item. If it is the case you can get it through selectedItemProperty(),
    selectedIndexProperty(), and valueProperty()
            rpmSelector.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<String>() {
                public void changed(ObservableValue<? extends String> ov, String old_val, String new_val) {
                    System.out.println("Selected item is: " + new_val);
            rpmSelector.getSelectionModel().selectedIndexProperty().addListener(new ChangeListener<Number>() {
                @Override
                public void changed(ObservableValue<? extends Number> observableValue, Number oldv, Number newv) {
                    System.out.println("Selected index is: " + newv.intValue());
            rpmSelector.valueProperty().addListener(new ChangeListener<String>() {
                public void changed(ObservableValue<? extends String> ov, String old_val, String new_val) {
                    System.out.println("Selected   value: " + new_val);
            });

  • IChat & .Mac account - changing handle? & iTunes pausing....

    Hi all,
    Two quick questions regarding iChat & 10.5...
    Is there any way to change your handle/screen name when using a .Mac account in iChat? I can't find a menu option, so hoping for a hidden solution.
    Similarly, whenever I start an A/V chat, iTunes pauses. Again, I can't find a preference for this - any plist I can edit to change this behaviour, or some other workaround?

    Is there any way to change your handle/screen name when using a .Mac account in iChat? I can't find a menu option, so hoping for a hidden solution.
    If it's change as in create a new one, you have to do this on the .Mac website or on the AOL website if you want an AOL screen name.
    If it's change as in use a different account that you have already registered. You can go in the iChat Menu > Preferences > Accounts. Then by pressing on the "+" button at the bottom you can create a new account. If you want to just modify the one that is already created, make sure you are logged out, select it in the list and change the username and password fileds to the new account and log back in.
    Similarly, whenever I start an A/V chat, iTunes pauses. Again, I can't find a preference for this - any plist I can edit to change this behaviour, or some other workaround?
    Yes this is a default behavior and it doesn't look like there is an easy way around this. iTunes is paused by default so you can hear your buddy better and more importantly so the music is not captured by the microphone if played through your computer's speakers.

  • Can't Change Handle

    When I attempt to change my handle via "My Control Panel" I get this error: "Error: Please make sure all required fields are filled out. :" even though all I'm changing is my handle and all fields with *'s are filled in.
    I believe the problem is that this handle is attached to an old account of mine, can you please remove the old account (or come up with another work around) so that I can re-use this handle?

    Send this request to [email protected]
    Cheers, OTN

  • BSP runtime node got deactivate automatically after changing Handler list

    Hi folks,
    We made a change in Handler list of BSP node ( Default_host/sap/bc/bsp) in SICF T code. So basically we added our own Z  BSP HTTP Request Handler class into the Handler List just before the standard class CL_HTTP_EXT_BSP.
    Everything worked fine in Developement, but after moving the change to Quality system, the BSP node automatically got deactivated and we had to activate it again manually.
    What we are wondering is that, why the node got deactivated? Dit it get deactivated  because of the change in Handler list or it might had happend because of some other reason?
    Please provide your openion on this issue.
    Thanks
    PG

    Hi Joaquin
    Thanks for your reply.
    So does it mean, when we will move this new TP request to Production system, there also BSP runtime node will be deactivated automatically?
    And does thtis issue occurs only when there is a transport touching the BSP runtime? Since it did not occur before with other Transports!
    Thanks
    PG

  • JTree change handles of node

    Hi!
    I am using MetalLookAndFeel in my program. I also have a JTree which by default uses Java handles (o--)
    I need to show the handles of windowsLookAndFeel (+ and -) in the tree, but without changing the MetalLookAndFeel.
    Is there a way to do this in JAVA?

    To set the icons,
    UIManager.put("Tree.collapsedIcon", icon1);
    UIManager.put("Tree.expandedIcon", icon2);Note that in order to acquire the icons from the Windows L&F itself you would need to be runnin on a Windows platform, so it may be preferable to include PNGs of them in your classpath. Up to you.

  • Changed handling of Microsoft Word .doc files in Finder and Quicklook

    This is happening on my new MacBook Pro with Retina Display and Mountain Lion 10.8.4.
    Starting a week or 10 days ago, the appearance and behavior of .doc files in my finder changed from the .docx style to the style associated with Word 6.0/95. The application associated with .doc files has always been MS Word 2011. Before this changed, I could preview them in quicklook and the icons were not changed.  Word will open the .doc files if I double click from the finder (or open them from the application's Open command) but I can't quicklook the doc. files. I have tried to change the application using the two finder methods, namely through the "Get Info" command or by control-clicking on the .doc file icon.  Docx. files and all versions of other MS Office applications behave normally. This seems to be a problem with .doc files only.
    An interesting thing is if I change the application to open a .doc file to Pages, the "Kind' designation in the Get Info dialog changes from MS Word 6.0/95 to "Microsoft Word 97 - 2004 document" but changing the associated application back to Word 2011 doesn't fix the problem and the description changes back to Word 6.0/95. There are different recommended applications.
    All of this worked fine until a few weeks ago. The problem is on my new MacBook Pro with Retina display. I have an iMac 27 inch, latest model, and this is not happening on that machine. I have tried this in several different user accounts on my MBP and the behavior is the same in each one.
    I've been working with this for a week or two, and have tried resetting quicklook preferrences and restarting the process as suggested on Macfixit and elsewhere. But the problem persists. I can't tell if this is a file association problem or a quicklook problem. Usually I find solutions here but it doesn't look like anyone else is complaining.

    Baltwo, thanks for your advice and quick response. Thanks to you, I think I'm making some progress after a lot of frustration. I'm not quite "there" yet, though, so I hope I'm not imposing when I ask ask for a little more of your help and expertise. 
    I ran the suggested command (after deleting the space) and got the following in the Terminal window:
    lsregister: [OPTIONS] [ <path>... ]
                          [ -apps <domain>[,domain]... ]
                          [ -libs <domain>[,domain]... ]
                          [ -all  <domain>[,domain]... ]
    Paths are searched for applications to register with the Launch Service database.
    Valid domains are "system", "local", "network" and "user". Domains can also
    be specified using only the first letter.
      -kill     Reset the Launch Services database before doing anything else
      -seed     If database isn't seeded, scan default locations for applications and libraries to register
      -lint     Print information about plist errors while registering bundles
      -convert  Register apps found in older LS database files
      -lazy n   Sleep for n seconds before registering/scanning
      -r        Recursive directory scan, do not recurse into packages or invisible directories
      -R        Recursive directory scan, descending into packages and invisible directories
      -f        force-update registration even if mod date is unchanged
      -u        unregister instead of register
      -v        Display progress information
      -dump     Display full database contents after registration
      -h        Display this help
    It looks like I have reset the Launch Services database but need to register or reregister my applications. Maybe run -seed or -convert? Sorry to be dense about what to do next.

  • Change Handler

    Hi,
    please help me, this is a java Handler for postal of premise page,
    package com.splwg.cm.domain.customerinfo.premise;
    import com.splwg.base.api.DataTransferObject;
    import com.splwg.base.api.changehandling.AbstractChangeHandler;
    import com.splwg.ccb.domain.customerinfo.premise.Premise;
    import com.splwg.base.api.Query;
    * @author TEST
    @ChangeHandler (entityName = premise)
    public class CmPremisePostalValidation_CHandler extends
    AbstractChangeHandler<Premise> {
    public void handleAddOrChange(Premise arg0, DataTransferObject<Premise> arg1) {
    String postal = ((Premise) arg1).getPostal();
    if (isNull(postal)) {
    throw new RuntimeException("Invalid Postal: Null");
    } else {
    Query<Premise> query = createQuery("FROM Premise PREM WHERE PREM.id = :premise_id");
    query.bindId("premise_id", arg0.getId());
    if (query.firstRow().getPostal() != postal) throw new RuntimeException("Invalid Postal");
    below is the part of spl_web.log. producing type casting error. plz guide me to solve this problem.
    java.lang.ClassCastException: com.splwg.ccb.domain.customerinfo.premise.Premise_DTO      at com.splwg.cm.domain.customerinfo.premise.CmPremisePostalValidation_CHandler.handleAddOrChange(CmPremisePostalValidation_CHandler.java:17) at com.splwg.cm.domain.customerinfo.premise.CmPremisePostalValidation_CHandler.handleAddOrChange(CmPremisePostalValidation_CHandler.java:14)     at com.splwg.base.support.changehandlers.ChangeEventHandler$1.run(ChangeEventHandler.java:170)     at com.splwg.base.support.changehandlers.ChangeEventHandler$JumpToChangeHandlerRunner.run(ChangeEventHandler.java:334)     at com.splwg.base.support.interception.SessionInterceptionManager.notifyGenericCallStackJump(SessionInterceptionManager.java:264)     at com.splwg.base.support.context.FrameworkSession.notifyGenericCallStackJump(FrameworkSession.java:1425)     at com.splwg.base.support.changehandlers.ChangeEventHandler.executeHandlers(ChangeEventHandler.java:179) at com.splwg.base.support.cobol.JavaRowUserExitHandler.processChangeEvent(JavaRowUserExitHandler.java:325)     at com.splwg.base.support.cobol.JavaRowUserExitHandler.handleChange(JavaRowUserExitHandler.java:300)     at com.splwg.base.support.cobol.JavaRowUserExitHandler.handleEndProgram(JavaRowUserExitHandler.java:288)     at com.splwg.base.support.cobol.JavaRowUserExitHandler.handleCHandler(JavaRowUserExitHandler.java:238)     at com.splwg.base.support.cobol.JavaRowUserExitHandler.privateHandle(JavaRowUserExitHandler.java:193) at com.splwg.base.support.cobol.JavaRowUserExitHandler.handle(JavaRowUserExitHandler.java:68)     at sun.reflect.GeneratedMethodAccessor505.invoke(Unknown Source)     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)     at java.lang.reflect.Method.invoke(Method.java:585)     at com.splwg.base.support.cobol.CobolToJavaGateway$MethodDispatcherCache$MethodDispatcher.dispatchToRequestedMethod(CobolToJavaGateway.java:337)     at com.splwg.base.support.cobol.CobolToJavaGateway$MethodDispatcherCache$MethodDispatcher.access$300(CobolToJavaGateway.java:255)     at com.splwg.base.support.cobol.CobolToJavaGateway$MethodDispatcherCache.dispatchToRequestedMethod(CobolToJavaGateway.java:250)     at com.splwg.base.support.cobol.CobolToJavaGateway$MethodDispatcherCache.access$000(CobolToJavaGateway.java:232)     at com.splwg.base.support.cobol.CobolToJavaGateway.callJava(CobolToJavaGateway.java:65)     at com.splwg.base.support.cobol.host.command.CobolToJavaGatewayCommand.invoke(CobolToJavaGatewayCommand.java:33)     at com.splwg.base.support.cobol.host.PerformCommandExecuter.invoke(PerformCommandExecuter.java:68)     at com.splwg.base.support.cobol.host.OptimizedRemoteExecuterSkel$RequestSocketReader.readRequestExecuteAndRespond(OptimizedRemoteExecuterSkel.java:157)     at com.splwg.base.support.cobol.host.OptimizedRemoteExecuterSkel$RequestSocketReader.run(OptimizedRemoteExecuterSkel.java:91)     at com.splwg.base.support.cobol.host.SocketThreadPool$WrappingParentRunnable.run(SocketThreadPool.java:204)     at
    Regards

    try with this.....
    public void handleAddOrChange(Premise arg0, DataTransferObject<Premise_DTO> arg1) {
    String postal = ((Premise_DTO) arg1).getPostal();

Maybe you are looking for