How to update commitment in R/3 after SC being created

Dear gurus,
In my project, there is a requirement that whenever SC is created, a commitment should be updated into Fund Management in R/3. This is to make sure that the Fund Management should get the up-to-date information of all objects that are planned to consume the budget (also to make sure that the behaviour will mimic PR creation in R/3).
However as we're using extended classic, we will not create PR in R/3, thus only PO will be replicated to R/3. Though this will update the commitment for sure, this is considered by the client to be very late already.
So we need to find a way, where once the SC is created, SRM should be able to update the commitment into FM in R/3. Thus when SC is approved and converted into PO, then the commitment will be updated (deleted) and the real commitment from PO should be created in normal way.
I know there is a badi that can be triggered during SC creation, and also during PO creation. But we still stuck on the question of what Function Module that we can use in R/3 to:
a. Create commitment during SC creation,
b. Delete commitment when PO is created.
Can anyone help me on this? Or if someone have other and better way to make this happen, I'm really grateful if you want to share with me.
Best regards,
Yosea

Hi Yosea,
I had to do something similar in a previous project.
I think, first you should try to avoid but if it is a requirement.
I don't know if with a different (customer) account assignment category would be possible. How the problem is the moment of the commitment, we used tha DOC_SAVE BADI. Take into account, that you should delete the commitment after approval, reject, update during the approval process,....
In my case the commitment was done via a manual CO document (exactly batch-input FMZ1). I remember that exist a FM that did something similar but finally we didn't use and I don't remember know.
If finally you decided to do it in other way, please let me know.
I hope this help you.
Regards

Similar Messages

  • How to update the windows cached password after SSPR?

    Scenario: Windows 7 remote user forgets the cached password for her laptop and uses FIM 2010 R2's Reset Password invoked from the login screen. The domain password change is successful, but the user still cannot login to the laptop as the
    cached password has not been updated.
    Question: How to update the cached windows logon password after SSPR to allow user to login with the new password.
    Thanks 

    Please try the following:
    KB2845626 - Cached credentials are not updated when you change your password in Windows
    If you found my post helpful, please give it a Helpful vote. If it answered your question, remember to mark it as an Answer.

  • How to update my new phone number after my U-verse phone service is disconnected?

    How to update my new phone number for forwarding  after my U-verse phone service is cancelled/ disconnected?

    I did call them. They said once the phone service is disconnected, there's nothing they can do about it. The thing is that when I called them to cancel the U-verse service yesterday, they did not offer me the opportunity to update the new phone #. This is so frustrating!

  • How to update the condition price in sales order while creating the invoice

    Hi,
    How to update the condition price in the sales order to carry out the new price while creating the invoice?
    While creating the invoice it should update the condition price in sales order.
    Thanks,
    Balaram

    No, pricing is not there in delivery.
    I found an exit for VF01transaction where we can update the price in order.
    Can you please tell me how to update the price if I have the order, material numbers and conditions number?
    Thanks,
    Balaram

  • How to update EKPO-MAHNZ ( reminder counter) in purchase order created?

    There is the requiremtn to update the field EKPO-MAHNZ in a just created purchase order (PO).
    It is for the purpose of data migration. So a PO is created from file data using BAPI_PO_CREATE1 but this BAPI seem not to provide a way to update the mentioned field in the EKPO table (position data of PO).
    Is there any other way?! BAPI!? to achive this!?
    Any help or suggestion is welcomed!
    CN

    >
    Vamshi_1468 wrote:
    > Hi dude,
    >
    > If the field is not available in BAPI_PO_CHANGE...then go for BDC...run a recording and update the field...only way out...
    >
    > Regards,
    >
    > Vamshi
    Thanks for your reply!
    Batch input would be an option but the field is not ready for input in ME22n.
    Any way around it?

  • How do i get the material type after submitting a create material request?

    Hi All,
    I have to select an agent depending on the material type of the material being created? I'm not using the rule based workflow for material creation in MDG 7.0, I'm using WS46000057. How do I get the material type being used in the workflow so that I can create a rule and select an agent accordingly from a custom table.
    Any kind of help would be sincerely appreciated.
    Regards,
    Tushar..

    Why not use the rule-based workflow template?
    Where do you want the material type? This is a standard workflow template and I'm not sure you can enhance it.
    In any case, in order to read CR details, you need to use the MDG API classes. These are described in this document: Master Data Governance Application Programming Interface Guide. Keep in mind that different API classes were developed for different releases so make sure to pick the class right for your release.

  • TableView - How to update a running balance column after any other column in the view is re-sorted

    To keep this simple and to illustrate a problem that I am trying to solve let's say we have
    a domain class that contains an income per day.
    This class has two persistent properties - populated from a database table - date and income.
    And there is one transient property - running balance - that shows the accumulated income
    starting from the first record. This property is not persisted and it is used only to show
    the running/accumulated income in a table view.
    This domain object is shown in a table view with three columns:
         - date
         - income
         - running balance
    The first two columns - date and income - are sortable. When the user clicks on the column
    heading these can will be sorted in ascending or descending order. The running balance
    column needs to reflect this change and be correctly updated.
    So the question is : how would you implement the running balance update after the data in
    the table has been updated by the user?
    Take 1)
    =============
    The obvious approach is to use "setOnSort" method to consume the SortEvent event and re-sort the
    data but the sort-event does not contain any useful information that would tell from which column
    the sort event originated.
    Take 2)
    =============
    Found a possible solution:
         - TableView.getSortOrder() returns a list that defines the order in which TableColumn instances are sorted after the user clicked one or more column headings.
         - TableColumn.getSortType() returns the sort type - ascending/descending.
         - This info can be used in the TableView.setOnSort() event handler to re-sort the data and update the balance at the same time.
    Take 3)
    =============
    When the TableView.setOnSort() event handler is called the data is already sorted therefore the only thing that needs to be done is to update the running balance.

    I  think I understand what you're trying to do. If I've missed it, apologies, but I think this will provide you with something you can work from anyway.
    I would listen to the data instead of watching specifically for sorting. This will be much more robust if you add new functionality later (such as adding and removing rows, editing the data that's there, etc).
    Specifically, for the runningBalance column, create a cellValueFactory that provides a DoubleBinding; this binding should listen for changes to the data and compute the value by running through the table's items up to the point of the item for which it's displaying the value. (Hope you can untangle that sentence.)
    Example. The important part is the cellValueFactory for the cumulativeAmountCol. I guess I should mention that you shouldn't try this exact approach with very large tables as the performance might be pretty bad (computations of the order of n x m on changing data, where n is the number of rows in the table and m is the number of visible rows in the table).
    import java.text.DateFormat;
    import java.text.NumberFormat;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Calendar;
    import java.util.Date;
    import java.util.Iterator;
    import java.util.List;
    import java.util.Random;
    import javafx.application.Application;
    import javafx.beans.Observable;
    import javafx.beans.binding.DoubleBinding;
    import javafx.beans.property.DoubleProperty;
    import javafx.beans.property.ObjectProperty;
    import javafx.beans.property.SimpleDoubleProperty;
    import javafx.beans.property.SimpleObjectProperty;
    import javafx.beans.value.ObservableValue;
    import javafx.collections.FXCollections;
    import javafx.scene.Scene;
    import javafx.scene.control.TableCell;
    import javafx.scene.control.TableColumn;
    import javafx.scene.control.TableColumn.CellDataFeatures;
    import javafx.scene.control.TableView;
    import javafx.scene.control.cell.PropertyValueFactory;
    import javafx.scene.layout.BorderPane;
    import javafx.stage.Stage;
    import javafx.util.Callback;
    public class CumulativeTableColumnExample extends Application {
      private final static int NUM_ITEMS = 20 ;
    @Override
      public void start(Stage primaryStage) {
      final TableView<LineItem> table = new TableView<>();
      // using the extractor here makes sure the table item list fires a list changed event if any amounts change
      // this enables the cumulative amount column to keep up to date when the amount in a different row changes.
      table.setItems(FXCollections.observableList(createRandomData(), new Callback<LineItem, Observable[]>() {
          @Override
          public Observable[] call(LineItem item) {
            return new Observable[] {item.amountProperty()};
      final TableColumn<LineItem, Date> dateCol = new TableColumn<>("Date");
      final TableColumn<LineItem, Number> amountCol = new TableColumn<>("Amount");
      final TableColumn<LineItem, Number> cumulativeAmountCol = new TableColumn<>("Cumulative Amount");
      table.getColumns().addAll(Arrays.asList(dateCol, amountCol, cumulativeAmountCol));
      dateCol.setCellValueFactory(new PropertyValueFactory<LineItem, Date>("date"));
        amountCol.setCellValueFactory(new PropertyValueFactory<LineItem, Number>("amount"));
        cumulativeAmountCol.setCellValueFactory(new PropertyValueFactory<LineItem, Number>("amount"));
        cumulativeAmountCol.setSortable(false); // otherwise bad things might happen
      final DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.SHORT);
      dateCol.setCellFactory(new Callback<TableColumn<LineItem, Date>, TableCell<LineItem, Date>>() {
          @Override
          public TableCell<LineItem, Date> call(TableColumn<LineItem, Date> col) {
            return new TableCell<LineItem, Date>() {
              @Override
              public void updateItem(Date date, boolean empty) {
                super.updateItem(date, empty);
                if (empty) {
                  setText(null);
                } else {
                  setText(dateFormat.format(date));
      cumulativeAmountCol.setCellValueFactory(new Callback<CellDataFeatures<LineItem, Number>, ObservableValue<Number>> () {
          @Override
          public ObservableValue<Number> call(CellDataFeatures<LineItem, Number> cellData) {
            final LineItem currentItem = cellData.getValue() ;
            DoubleBinding value = new DoubleBinding() {
                super.bind(table.getItems());
              @Override
              protected double computeValue() {
                double total = 0 ;
                LineItem item = null ;
                for (Iterator<LineItem> iterator = table.getItems().iterator(); iterator.hasNext() && item != currentItem; ) {
                  item = iterator.next() ;
                  total = total + item.getAmount() ;
                return total ;
            return value;
        final NumberFormat currencyFormat = NumberFormat.getCurrencyInstance();
      // generics hell.. can't wait for lambdas...
      final Callback<TableColumn<LineItem, Number>, TableCell<LineItem, Number>> currencyCellFactory = new Callback<TableColumn<LineItem, Number>, TableCell<LineItem, Number>>() {
          @Override
          public TableCell<LineItem, Number> call(TableColumn<LineItem, Number> column) {
            return new TableCell<LineItem, Number>() {
              @Override
              public void updateItem(Number amount, boolean empty) {
                if (empty) {
                  setText(null) ;
                } else {
                  setText(currencyFormat.format(amount));
        amountCol.setCellFactory(currencyCellFactory);
        cumulativeAmountCol.setCellFactory(currencyCellFactory);
        BorderPane root = new BorderPane();
      root.setCenter(table);
      primaryStage.setScene(new Scene(root, 600, 400));
      primaryStage.show();
      public List<LineItem> createRandomData() {
        Random rng = new Random();
        List<LineItem> items = new ArrayList<>();
        for (int i=0; i<NUM_ITEMS; i++) {
          Calendar cal = Calendar.getInstance();
          cal.add(Calendar.DAY_OF_YEAR, rng.nextInt(365)-365);
          double amount = (rng.nextInt(90000)+10000)/100.0 ;
          items.add(new LineItem(cal.getTime(), amount));
        return items ;
      public static void main(String[] args) {
      launch(args);
    public static class LineItem {
        private final ObjectProperty<Date> date ;
        private final DoubleProperty amount ;
        public LineItem(Date date, double amount) {
          this.date = new SimpleObjectProperty<>(this, "date", date);
          this.amount = new SimpleDoubleProperty(this, "amount", amount);
        public final ObjectProperty<Date> dateProperty() {
          return date;
        public final Date getDate() {
          return date.get();
        public final void setDate(Date date) {
          this.date.set(date);
        public final DoubleProperty amountProperty() {
          return amount ;
        public final double getAmount() {
          return amount.get();
        public final void setAmount(double amount) {
          this.amount.set(amount);

  • How to update to iOS 5.1 after installing iOS 5.1 beta 3

    I had previously updated to 5.1 beta 3 since I was not able to receieve any signals at all, hence make any calls or send texts. After installing 5.1 beta 3 it was fixed but a day ago i had a gray screen and it said:
    "We're unable to complete your activation. This device is not registered as part of the iPhone Developer Program.
    If you are a member of the Program, please register your device in the iPhone Developer Program Portal"
    How do I update to the official iOS 5.1 release. Please help me out!! I am worried like anything..
    Mazin

    KiltedTim Yes they did. I have no reason to lie and if you want me to I can dig in way back and get the link and post it here. Get your facts right before you barge in and claim stuff that you dont know anything about. if you cant help me out it doesnt mean that you have the right to come here and insult me by claiming that im a liar.
    Watch your words kid.. Life is tough ahead and with this ****** attitude your going down the drain so quick your head would spin.
    @ctter Thanks alot mate. I am going to check it out thanks
    Mazin

  • How to update phone number in iTunes after porting?

    I have just had my mobile number transferred to my new iPhone however even after a sync iTunes is showing my old number (under Summary). How do I update?

    On your phone, Settings>Phone>My Number...tap the blue chevron next to the number shown, edit the number, then sync your phone.

  • How to update closing period using MMPV after a long period

    We have IDES which we use in our lab. Since there is no regular admin, we didn't close periods using MMPV since last March. So the dates are 03/2006.
    I know that I can't simply type 03/2007. I know that I have to first close 03/2006, then 04/2006 and so on.
    But when I enter that, I get an error saying that 2006 is not the current calendar year. So I am kind of stuck. It doesn't let me enter 2006. So I don't know how to close those periods and bring the material master to current.
    Is there a way to do that?
    Regards.
    P

    I realized my mistake. That message (2006 is not the current year) was just a warning. When I click Execute button, I get this warning. Then I clicked the red check mark (near top left corner), which caused the period to close.
    P

  • How do i make the program hold after it has created a JFrame

    I have created a JFrame with which the user shall login to a server. I call this JFrame from my main method (the JFrame-class is in a separate file). My problem is that after the login-window is created and set visible, my main method continues, i would like it to wait until the user have logged in before running the rest of the code.
    this i my main method:
    new LoginWindow();
    System.out.println("Logged in: "+Session.isLoggedin()+
                    "\nUsername: "+Session.getUsername());Session.isLoggedin() returns a boolean, true if user is logged in and otherwise false. class LoginWindow extends JFrame.
    i have tried to use a while-loop to solve my problem:
    while(!Session.isLoggedin()) { }and also
    whiel(true){
        if(Session.isLoggedin())
            break;
    }these while-loops never breaks, i have waited for about 3 min after successful login.It isn't because Session.isLoggedin() returns false, it does return true after a successful login (i've checked).
    the funny thing however is if i print something in the while-loop i does break when login is finished
    example:
    whiel(true){
        System.out.println(Session.isLoggedin());
        if(Session.isLoggedin())
            break;
    }this code makes the program wait until the login-phase is complete but i don't want it to print "text" a few thousand times while the user is logging in. (i've used "hej" as output aswell)
    Since i have no idea how long it will take for a user to log in i can't use the System.sleep(value) method.
    I would really appreciate any help
    Thanks in advance
    //Oscar

    SnuShogge wrote:
    I am still curious about why the while-loop only breaks if i print something using System.out.println(""), i didn't think that would make a difference since the break-statement remains the same.In general you should avoid trying to use while (true) or its variants in a Swing GUI as it often messes with the EDT, the main thread that renders the GUI graphics and interacts with the user.
    My problem i however partially solved by using a JDialog instead of a JFrame. I am planning on using JFrame later in the program so the problem might come back to haunt me if it isn't solved.This may not be a great idea. Usually an application has one single JFrame. Most other distinct windows a dialogs of one sort or another and should be JDialogs, not JFrames. Often better still is to use a CardLayout to swap JPanels or other components.

  • How to update metadata (e.g. keywords, author) for pdf created from spool

    Hi Experts,
    My requirement is that smart-form spool will be converted into PDF and will be saved on to application server. Now, a third party tool will read the data and print it. I want to update properties of this PDF like author, keywords. These properties can be seen when we save PDF on desktop and right-click on it.
    Please provide pointers to address this issue. Any input will be highly appriciated.
    Regards,
    Gouri.

    Hi,
    Its good that u pasted the complete log file. In your environment you have to run this upgrade tool only once from any of the middle tier.
    And with respect to your error that u got in precheck is quite simple. All u have to do is just run this script from by connecting to portal schema using sqlplus.
    Run dropupg.sql
    Location-------- /raid/product/OraHome_1/upgrade/temp/portal/prechktmp/dropupg.sql
    Later you re-run the upgrade tool and let me know the status.
    Good luck
    Tanmai

  • How can I change my database options after it's created ?

    Hi ,
    I'm using a 10 g oracle on a solaris 10 machine .I created a database and now I m willing to change the database option.I tried to use dbca but the Configuration Options checkbox is disabled.Is there any other way to change the database option ??.For instance ading the JVM support ?.
    Cheers.

    You will need to run the installation scripts....as noted in My Oracle Support (support.oracle.com)..
    Note:
    Database Version 10.2.0:
    Note.276554.1 How to Reload the JVM in 10.1.0.X and 10.2.0.X
    and
    Master Note for Oracle JVM [ID 1098505.1]
    Read, learn, Share,
    Regards
    Tim
    Please mark this thread as answered...

  • How do I edit a rotoscope shape after it's created?

    I have read the manual, but can't get my roto shape (made with b-splines) back into edit mode to adjust the position of my control points. I've read the manual (yes, I did), and on page 279 of the Motion 3 manual it describes how to do this, but it just doesn't work. I know I take take the scene into Shake and do this really easily, but I don't want to re-do a bunch of other work. Any suggestions?
    Oh, and I do have Handles and Lines checked off in the View pop-up menu over the Canvas, and the adjust control points tool selected (upper left of canvas window), in addition to having my mask selected in the timeline, just for the sake of additional clarity.

    Thanks guys, those are good tips. I have tried this on my laptop, and your tips work. However, I have noticed that upon creation of a b-spline or bezier mask on my desktop machine, I do not enter edit mode upon closing the mask points. The points are simply not there. The "Edit points" option in the contextual menu (control click) is selected, but no points are visible. However, on my laptop (MacBook Pro), all works as it should, and the masks are immediately converted to edit mode upon closure of the mask.
    I tried a re-install of the Final Cut Studio programs, but that didn't help. Also, deleted the Motion package, and copied from the laptop, and no change for the better.
    Any ideas about what is happening here? Thanks for any help at all. Getting a little frustrated here...

  • How can I install Thunderbird without a "Special Account" being created

    A new installation of Thunderbird is creating a "Special Account", the name of which I need to use for another account. I cannot change the name of the "Special Account" and the new account must use that name but TB will not accept two accounts with the same name. I have read an explanation of the special account and I do not need it or want it. I need to know how to prevent the creation of the special account. Is there some part of an earlier installation buried in the Registry or elsewhere which I need to delete? I have installed TB on other computers without this problem.

    Yes, there is a local folder special account in every single installation that has ever occurred in Thunderbirds 10 years of existence.,
    So perhaps you could explain what the issue is so we might be able to understand and advise on how to do what your trying to do.

Maybe you are looking for

  • Dual boot

    A colleague has just purchased a new Lenovo (might be an L540 - not certain) and says she has it installed with Windows 7 "with the option of changing to 8". She has seen me running a dual boot of Win 7 and 8 on an older laptop, and wonders whether h

  • After updating to Lightroom CC 2015, it will not launch when i click on the icon.

    After updating to Lightroom CC 2015, it will not launch when I click on the icon. A window gets up: "__crtCreateSymbolicLinkW" not found in DLL "MSVCR110.dll". Same failure occurs when I start Photoshop CC. LR 5.7.1  Starts without Problem.

  • Exchange Rate Error - Enter Spread USD/EUR

    Hi, While doing the Invoice Verification we have encountered an error message requiring the entering of Spread USD/EUR. The PO was raised in the Euro and the Invoice Verification is being done in USD. Local currency is AUD. Even though the Exchange R

  • Which case is the best for the iPhone 6?

    So I am just wondering which case would be the best for the iPhone 6. I know that there are plenty of different cases out there. And I would like to get one that doesn't limit the use of the phone. But I also need the case that's good with drops and

  • How to run applets on the internet?

    I want my applet class run on the Internet but not in the Internet browser but instead maybe in appletviewer or something else...For example in java.sun.com the chatroom is an applet and it doesn't run in browser as I understand.because when I clicke