How to execute Update Module FM after final commit work for a T-code.

Hello Folks,
I have a bit complex issue with my current object.
We have modified MM41/MM42 transactions and added a subscreen to fulfill the requirement.
We have designed the subscreen and embedded the same to MM41/MM42 through SPRO configuration.
Now for update business logic,i am trying to execute one Function module(Update Module) in update Task...so that it will be executed once after the final commit work will be done for MM41/MM42.
But its not executing.
To fulfill my requirement i need to execute the FM only after Final Commit work for MM41/MM42.
Please suggest in this regard.
Even i can see few BADI's which are triggering through MM01/MM02 but not through MM41/MM42.
BADI_ARTICLE_REF_RT
BADI_MATERIAL_CHECK
BADI_MAT_F_SPEC_SEL
Code with which i am trying is given below.
After PAI event of the subscreen---
1:        MODULE USER_COMMAND_9001.
2:       MODULE user_command_9001 INPUT.
                    PERFORM sub_save_mara ON COMMIT.
          ENDMODULE.
3:       FORM sub_save_mara.
                     CALL FUNCTION 'ZMMUPDATE_MARA_APPEND_STRUCT' "IN UPDATE TASK
                                    EXPORTING
                                             materialno = gv_matnr
                                             appendmara = ty_zzmara.
         ENDFORM.                    "sub_save_mara
4:                FUNCTION zmmupdate_mara_append_struct.
                  ""Update Function Module:
                   ""Local Interface:
                  *"  IMPORTING
               *"     VALUE(MATERIALNO) TYPE  MATNR
               *"     VALUE(APPENDMARA) TYPE  ZZMARA
Data Declaration for Local use
  DATA : w_mara TYPE mara.
Selecting the latest values for the material.
  SELECT SINGLE * FROM mara INTO w_mara WHERE matnr = materialno.
  IF sy-subrc = 0.
  Move the ZZMARA values to structure MARA
    MOVE-CORRESPONDING appendmara TO w_mara.
  Update the values in table MARA.
    MODIFY mara FROM w_mara.
  ENDIF.
ENDFUNCTION.
Kindly suggest.Thanks in advance.
Regards
Ansumesh

Hi..
The code given by me will work fine provided the Final commit should happen.
Because to execute FM with update task,final commit work should happen which is mandatory and after that it will call the update task.
In my case final commit work was not happeneing because..SAP standard program was not able to detect wether there is any change in my sub-screen or not as the standard program & my custom program,subscreens are different.
As it was not able to detect the change,so final commit was not happening and hence update task also.
To provide the reference of change in my subscreen to standard program ,i set a flag as per the change in the subscreen
And exported the same to memory.
Then Implemented one enhacement spot in MATERIAL_CHANGE_CHECK_RETAIL Fm where i have Imported the flag value.
Based on my custom flag value,i have set one standard flag FLG_AENDERUNG_GES which tells SAP standard program for MM42 wether any change has happened or not.
The above solved my purpose.
Regards
Ansumesh

Similar Messages

  • TS1717 I fixed it by starting up Quicktime, which then started to update itself. After that ITunes worked again.

    I fixed it by starting up Quicktime, which then started to update itself. After that ITunes worked again.
    Also Apple Software Update suddently worked again

    had a lot of trouble with this too. I had tried everything, from the internet time zone changing, restarting computers, physical time zone changing, firewalls, all that, and nothing worked.
    but i just tried this and it worked.
    1. in iTunes, go to Store, then go to authorize computer
    2. sign in with your AppleID, and authorize your computer to purchase iTunes stuff.
    that's it.
    I scoured the internet and found nothing that said that had that as a solution.
    hope it helps

  • HT5622 I reset my ID and password for my Mac. How do I get that ID and password to work for my iPhone?

    I reset my ID and password for my Mac. How do I get that ID and password to work for my iPhone? My account is disabled on the iPhone until I have the ID and password synched for both devices.

    You cannot merge iCloud/Apple IDs. You must decide which one ot use, one or the other. Login with your new ID on your computer.
    Be aware that content/apps purchased with the old ID will be forever tied to that ID.

  • How to execute an ABAP Mapping after a Java Mapping

    Hi, i have found a Bug in XI and SAP said to me that the only solution is to execute an ABAP mapping after my java mapping.
    I have an IDOC to FILE scenario
    Could anyone orient me on what do i have to configure, so after my java mapping i can execute an abap mapping ?.
    Do i have to use process integration?
    thanks
    Mariano.

    i have developed a Java mapping originally, but XI has a bug. When you do not write anything to the outputStream XI instead of writing an emtpy file writes a file containing one byte ( 0x00 ) and this is a problem.
    SAP said to me that they will not fix this issue so they recomend me to create an abap mapping after my java mapping that will send no information if it receives this byte (0x00) and if not it will write all the information as received.
    My doubt regarding putting several mappings in the interface mapping configuration is this...
    Actual configuration:
    SOURCE MSG A -> ORIGINAL MAPPING -> TARGET MSG B
    Proposed configuration
    SOURCE. MSG A -> ORIGINAL MAPPING -> TARGET MSG B
    SOURCE. MSG A -> PATCH MAPPING -> TARGET MSG B
    I dont understand what receives de "patch mapping" it receives the structure from TARGET MSG B?
    regards
    mariano

  • How to save a Module in Visual Basic with Excel for Mac 2011

    On the MS support pages it shows how to create a module that will turn digits into written words:
    http://support.microsoft.com/kb/213360/en-us
    so if you enter $32.50 it will convert it to Thirty-Two Dollars and 50 cents. Perfect for batch payroll work!
    Using Excel for Mac I open the Visual Basic editor (which I clearly know nothing about!), paste in the text provided by Microsoft and it works perfectly.
    BUT... if I close that workbook that module is gone.  I can't use it again in the next workbook.  Surely there's a simple way to save the module so it is available in all future workbooks... yes?  This one has stumped several MS techs so far.

    Hi,
    I have no Excel for Mac, so I can't test this issue .
    Did you save the Excel workbook as Excel Macro-Enabled workbook(*.xlsm)?I guess Excel would prompt you if you want to save the VBA code when you close the workbook.
    Wind Zhang
    TechNet Community Support

  • How do I update PSE 12 and Premiere Elements 12 for ACR 8.5?

    I tried posting this earlier, got no responses. Recap as follows:
    using an iMac with OSX 10.9.4
    From PSE12, used the "updates" pull-down menu, Adobe Application Manager (AAM) starts and indicates that there is an update available for both PSE and Premiere 12.  When update is selected, AAM shows:
       Update Failed
       Updates could not be applied
       The error log file may help you in identifying the problem.  The, try updating again.  If the problems persist, contact customer support for further assistance.
      The error lot file read as follows:
       Photoshop Camera Raw 8.5
       There was an error installing this update. Please quit and try again later. Error Code: U44M1I210
    When using the Terminal application to open the updater, I get the following response:
    /Applications/Utilities/Adobe\ Application\ Manager/core/Adobe\ Application\ Manager.app/Contents/MacOS/PDApp ; exit;
    2014-08-08 15:12:50.590 PDApp[840:507] CoreText performance note: Client called CTFontCreateWithName() using name "Times Roman" and got font with PostScript name "Times-Roman". For best performance, only use PostScript names when calling this API.
    2014-08-08 15:12:50.591 PDApp[840:507] CoreText performance note: Set a breakpoint on CTFontLogSuboptimalRequest to debug.
    2014-08-08 15:12:57.012 PDApp[840:507] CoreText performance note: Client called CTFontCreateWithName() using name "Lucida Grande" and got font with PostScript name "LucidaGrande". For best performance, only use PostScript names when calling this API.
    hdiutil: attach failed - no mountable file systems
    logout
    [Process completed]
    Any guidance on updating to ACR 8.5 would be appreciated.

    Barbara,
    Yes, I accessed the "updates" menu from the Help pull-down menu.  I also accessed the updates using the Mac Terminal application with results shown in my original post.  Regardless of whether I used the Help menu or the Mac Terminal app, the AAM tool still responded with:
    Update Failed
       Updates could not be applied
       The error log file may help you in identifying the problem.  The, try updating again.  If the problems persist, contact customer support for further assistance.
      The error log file read as follows:
       Photoshop Camera Raw 8.5
       There was an error installing this update. Please quit and try again later. Error Code: U44M1I210
       Looking at the the output of the Mac Terminal app, it shows:
       ... hdiutil: attach failed - no mountable file systems
       Is this relevant?
    Regarding your follow-up message pointing to:
    Update 12.1 installation errors | Photoshop Elements, Premiere Elements,
    the files referenced in this link are present, are correctly named, and they are in the correct locations, so it would appear that these issues are not related to the ACR 8.5 update problem
    Thanks

  • 2006-01-10 Updater Extreme Fix....Worked For Me....

    I too am one of the poor shlobs that downloaded the latest and greatest ipod updater 2006-01-10 from everybodys favorite company..apple. I downloaded the 2006-01-10 updater on my wifes computer profile and her 3rd gen ipod stopped working with itunes but my computer profile still worked with my 4th gen ipod. So while trying to fix hers i too got the new update message on my itunes and not knowing any better i installed it. BIG MISTAKE!! Now my profile stopped reading my ipod in itunes. Error message said "The software required for communicating with the ipod is not installed correctly please reinstall itunes to install the ipod software." So after many hours of grief trying to fix the problem to no avail heres what i did and it worked for me , its a little extreme but i was ready to put them both on ebay or the garbage can whichever was quicker and say the **** with apple. First you might want to save your music from itunes, i exported mine to a folder in my music and it showed back up in itunes when i was done. Go to apple, click on support tab, in ipod support area click on ipod + itunes support, scroll down troubleshooting articles, click on "my ipod shows up in windows but not in itunes", and follow each step for removing itunes and quicktime completely off computer. When it came to emptying my temp directory i could not delete the file so i went into the file and deleted everything that i could, some could not be removed. After removing itunes and quicktime i went to start-my computer-local disc-program files-ipod, clicked on ipod and deleted ipod updater 2006-01-10 file. Then i went to start-my computer-local disc-program files-and scrolled down towards the bottom of the page and deleted anything that said ipod updater or itunes updater or setup. I also did this exact thing up to now on my wifes profile as on my profile just to be certain that there was nothing left on either profile. I then ran disc cleanup and disc defragmenter in start-all programs-accesories-system tools. Restarted computer. I then went to www.soft32.com/download_121872.html and downloaded the ipod updater 2005-03-23. Restarted the computer,(I restarted my computer alot, i would do something and restart and do something else and so on). I then connected my ipod to the computer and clicked start-my computer-right clicked on ipod-clicked on format-started format process. Then i disassembled both ipods and unplugged the batteries for about five to ten minutes and then put them back together.(google "ipod battery replacement" for step by step detailed instructions on how to do this VERY EASY to do) Restart computer. Then on my profile i connected my ipod, clicked start-my computer-local disc-program files-ipod-clicked on 2005-03-23 ipod updater. Restart computer. Then i connected my ipod and downloaded the latest itunes and quicktime sofware and restarted computer again. Then after the restart, when all my programs were up and running, i connected my ipod and VOILA itunes popped up and read my ipod and updated it. i then logged off completely and logged in to my wifes profile and reformatted her ipod, restarted and installed ipod updater, i did not need to reinstall itunes or quicktime because it was already there from when i installed it on my profile. Restarted and when everything was up and running connected her ipod and YIPPEE. Removed both ipods, logged completely off both profiles and again i restarted the computer again...yes i know...after the restart i checked both profiles just to make sure they still read the ipod and they both work WOOHOO!!! I certainly hope this helps someone else because i was literally at the end of my rope and really did not care what happened to it, i think somewhere in there i even smacked it on the table a couple of times just to vent some frustration(some say doing that works too i dont know about that but boy it sure felt good). Anyway hope this helps i tried to remember everything i did step by step to the best of my knowledge and i dont guarantee this will work for you like i said...it worked for me...good luck.
    Dell Dimension 8300   Windows XP  

    just wanted to know if you still have any problems because sometimes the pod would work right after installation but the problem comes a few days after..but this is really helpful..will try to do this over the weekend

  • Do CIF BAdIs issue implicit COMMIT WORKS (for FM's called "in update task")

    I am calling the CIF BAdI:
    /SAPAPO/TR_TRANSFER.
    In the PUSH_LANE_DATA method of this BAdI, I want to call a function module "in update task".
    To trigger the actual execution of this function module, do I have to code an explicit COMMIT WORK in the BAdI or will SAP automatically generate a COMMIT WORK when the BAdI ends?

    Hope you have called the FM correctly with the additional importing parameter , also check if your FM is RFC enabled then check the "pass by value" option.

  • HT5569 My iphone does not connect to wifi I did everything like updating the software but still nothing works for me any can help please, it is 4s.

    I Can not connect to wifi, I did all basic things like restart, reset settings, updates software... Nothing works please help!!!

    Hi Alisadat,
    Welcome to the Support Communities!
    It sounds like you have intermittent Wi-Fi connection if you were able to update your iOS to 7.0.2?
    Although you have tried some troubleshooting steps, I would suggest following the guide below in order to attempt to resolve this issue:
    iOS: Troubleshooting Wi-Fi networks and connections
    http://support.apple.com/kb/TS1398?viewlocale=en_US
    Reset network settings by tapping Settings > General > Reset > Reset Network Settings.
    Note: This will reset all network settings including
    previously connected Wi-Fi networks and passwords
    iOS and OS X: Recommended settings for Wi-Fi routers and access points
    http://support.apple.com/kb/HT4199
    I hope this information helps ....
    - Judy

  • Commit Work for just one function module

    Hi experts,
    i have one question;
    I need one solutions for commit work but just one function module. If i set commit work in function module then everything is taking the commit. But i dont like this. I need just for FM. This is impossible ?
    Thak you, regards.

    Hi,
    The only way I know involves creating a nested LUW - opening a new internal session by calling ABAP program using SUBMIT ... AND RETURN or a CALL transaction code.
    Meaning, you'd have to code your logic in a report program/transaction, use the function module to merely call that report/transaction and, if necessary, use EXPORT/IMPORT or SHARED MEMORY to exchange data between the sessions. It's quite "ugly" solution IMO, and it involves session handling overhead, which can make it unsuitable for time-critical mass processing.
    Cheers,
    Janis

  • Updated ipad3 settings. after 'done' it asked for passcode. I never had a passcode. how to fix?

    I updated Ipad3 Settings. After the Done message, it said I was locked out and asked for a Passcode. I never had a passcode. How do I fix this?

    Do you mean you updated to IOS 7 and now you are being asked for a password. If so, at the end of the upgrade process I was asked to set a PIN number. You probably gave a PIN number and that would be your password.

  • How to re-update Lightroom CC after restoring to anearlier time?

    Would like to know how update my CC, lightroom after updating the other, had problems and restored computer to an earlier time to use the previous non updated version.

    CC desktop lists applications as "Up to Date" when they are not
    -http://helpx.adobe.com/creative-cloud/kb/aam-lists-removed-apps-date.html
    -and added step https://forums.adobe.com/thread/1529654

  • How to undo update of checkbox after triggering when-new-record-instance

    Hi,
    I am using eBusiness Forms Personalization in 11.5.10 to alter the Receipts form in Purchasing. I want to prevent users checking the rcv_transaction checkbox if the destination is "Multiple" and, instead, click the "+" sign to explode the multiple record into it's many component records.
    I can do this by invoking the when-new-record-instance trigger to make the "multiple" record fields unalterable and issue a warning message when the user selects such records. However, my problem is that - if the user clicks the checkbox as the first field in a "multiple" record, then this updates the checkbox to "Yes" BEFORE the trigger fires, which then locks the record for update.
    What I need is a solution that either sets the checkbox to unalterable for "multiple" records BEFORE the user clicks into such records, OR a method of undoing the update of the checkbox after the record has been selected (I cannot do this by simply setting it to "No" by the trigger as this is still technically an update and locks the record).
    Cheers
    Graham

    Hi Navnit,
    Yes you are right, but it can work even we not plase quotation mark in it. But Yes I forget to place semi colon so now it is
    IF :System.Cursor_Record = 1 THEN
       :Block.Col1 := '02:00';
    ElsIF :System.Cursor_Record = 2 THEN
       :Block.Col1 := '07:00';
       ------and so on
    END IF;Danish

  • How can I update the children after updating a node in a tree?

    Hi everyone.
    I'm trying to update a subtree programatically while using a managed bean as data source.
    All topics I can find are about using VOs and JUCtrlHierNodeBinding.updateValuesFromRows.
    Now I need to find some way to directly update nodes without any Row. What should I do?
    Here's the code:
    tags:
                                    <af:tree id="tframe" initiallyExpanded="true"
                                             selectionListener="#{backingBeanScope.systemDataFrameBB.onSelectNode}" var="n"
                                             binding="#{backingBeanScope.systemDataFrameBB.tframe}"
                                             value="#{systemDataFrameMB.treeData}" expandAllEnabled="true"
                                             rowSelection="single" fetchSize="-1" contentDelivery="immediate"
                                             immediate="true" summary="summary">
                                        <f:facet name="nodeStamp">
                                                      <af:group>
                                                      <af:outputText value="#{n.is_system?'[SYSTEM]':''}" />
                                                      <af:outputText value="#{n.is_use?'':'[X]'}" />
                                                                     <af:outputText value="#{n.data_frame_name}"/>
                                                      </af:group>
                                        </f:facet>
                                    </af:tree>
    managed bean(systemDataFrameMB):
         private ChildPropertyTreeModel treeData;
         public ChildPropertyTreeModel getTreeData() throws SQLException
              if (this.treeData == null)
                   AuthAMImpl authAM = this.getAppModule();
                   List<DataFrameNode> subTrees = authAM.getDataFrameTrees();    // load with JDBC and POJO
                   DataFrameNode root = new DataFrameNode();      // insert all sub-trees into a new tree
                   root.setData_frame_id(0);
                   root.setData_frame_name("[ROOT]");
                   root.setParent_data_frame_id(Integer.MIN_VALUE);
                   root.setIs_system(true);
                   root.setIs_use(true);
                   if (subTrees != null && subTrees.size() > 0)
                        root.setChildren(subTrees);
                        for (DataFrameNode n : subTrees)
                             n.setParent(root);
                   this.treeData = new ChildPropertyTreeModel(root, "children");      // I guess this is the simplest way to show hierachical data...
              return this.treeData;
    model:
    public class DataFrameNode
         private int data_frame_id;
         private String data_frame_name;
         private int parent_data_frame_id;
         private boolean is_use;
         private boolean is_system;
         private DataFrameNode parent;
         private List<DataFrameNode> children;
            // getters/setters are omitted....
    backing bean(systemDataFrameBB):
            // edit event handler
         public void onEditResult(DialogEvent de)
              String name = (String)this.getItName().getValue();
              boolean isUse = this.getSbcIsUse().isSelected();
              SystemDataFrameMB dfMB = (SystemDataFrameMB)JSFUtils.resolveExpression("#{systemDataFrameMB}");
              try
                   node.setData_frame_name(name);
                   node.setIs_use(isUse);
                   dfMB.updateNode(node);                   // persist changes, this method will change all the children's 'is_use' field to FALSE when isUse == FALSE
                   AdfFacesContext.getCurrentInstance().addPartialTarget(this.getTframe());      // refresh the tree, only the edited node will be updated, but I want the tree to update the whole sub-tree to reflect the change on all its children
              catch (Exception e)
                            // omitted...
            }

    I solved the problem using RichTree.visitChildren :)
    Maybe not the proper way, but at least it works...
                                    <af:tree id="tframe" initiallyExpanded="true"
                                             selectionListener="#{backingBeanScope.systemDataFrameBB.onSelectNode}" var="n"
                                             binding="#{backingBeanScope.systemDataFrameBB.tframe}"
                                             value="#{systemDataFrameMB.treeData}" expandAllEnabled="true" rendered="true"
                                             rowSelection="single" fetchSize="-1" contentDelivery="immediate"
                                             immediate="true" clientComponent="true" summary="summary">
                                        <f:facet name="nodeStamp">
                                            <af:panelGroupLayout id="tg">
                                                <af:clientAttribute name="node_path" value="#{n.node_path}"/>
                                                <af:outputText id="tIsSystem" value="#{n.is_system?'[SYSTEM]':''}"/>
                                                <af:outputText id="tIsUse" value="#{n.is_use?'':'[X]'}"/>
                                                <af:outputText value="(#{n.data_frame_id})#{n.data_frame_name}"/>
                                            </af:panelGroupLayout>
                                        </f:facet>
                                    </af:tree>
    private static final String PARENT_NODE_PATH = "PARENT_NODE_PATH";
    // all nodes should have a 'node_path' property whose value looks like 'id1/id2/id3'
    // keep path on view root
    FacesContext.getCurrentInstance().getViewRoot().getAttributes().put(PARENT_NODE_PATH, node.getNode_path());
    // visit the whole tree to find specified nodes
    VisitContext vc = VisitContext.createVisitContext(FacesContext.getCurrentInstance());
    RichTree.visitChildren(vc, this.getTframe(), new VisitCallback()
              @Override
              public VisitResult visit(VisitContext visitContext, UIComponent uIComponent)
                   if (uIComponent instanceof RichPanelGroupLayout &&
                        visitContext.getFacesContext().getCurrentPhaseId().equals(PhaseId.INVOKE_APPLICATION))
                        String parentPath = (String)visitContext.getFacesContext().getViewRoot().getAttributes().get(PARENT_NODE_PATH);
                        if (parentPath != null & parentPath.length() > 0)
                             // if current node is in the sub-tree then update its state
                             String path = (String)uIComponent.getAttributes().get("node_path");
                             if (path != null && path.length() > parentPath.length() && path.charAt(parentPath.length()) == '/')
                                  RichOutputText t = (RichOutputText)uIComponent.findComponent("tIsUse");
                                  JSFUtils.refreshTarget(t);
                   return VisitResult.ACCEPT;
         });there might be another solution which uses JavaScript:
    I found out that the HTML tag ADF generated has a attribute like "id='0_1_2_3'", that means I can find the sub-tree with JavaScript.
    But it was not tested 'cause I don't think it would be stable.
    it looks like this:
    StringBuffer clientId = new StringBuffer(node.getLevel_id() * 4);
    while (node != null)
         clientId.insert(0, node.getData_frame_id());
         clientId.insert(0, '_');
         node = node.getParent();
    JSFUtils.executeScript("disableSubTree('" + (clientId.length() > 0 ? clientId.substring(1) : clientId.toString()) +"')");
                <af:resource type="javascript">
                  function disableSubTree(id)
                      // find the adfrichtree component and traverse it, trying to find the sub-tree and modify the nodes
                </af:resource>

  • I'm new.  How do I update my feed after posting a new podcast?

    I'm sure this has been asked a bazillion times but i haven't found an answer.
    I just joined iTunes and received a confirmation email that my podcast feed has been accepted.  The email states,
    After adding a new episode, update your feed in the fastest possible manner with the ping service by visiting this URL:
    https://phobos.apple.com/WebObjects/MZFinance.woa/wa/pingPodcast?id=(ID REMOVED)
    But when I click the link it instead takes me to this link...
    http://itunes.apple.com/us/genre/ios/id36?mt=8&id=(IDREMOVED)
    And I cannot find any option to update my feed.  Please help and thanks!

    Once your feed has been accepted you are given the URL to the iTunes Store, which is presumably what the second link you have posted is.
    You don't have to interact with the Store any further. Just add a new episode to the podcast and re-upload the feed. Subscribers will see the new episode immediately, but it usually takes the Store a day or two, occasionally longer, to catch up.
    Incidentally I don't know where you saw the instruction to ping the Store, but that facility was removed over a year ago. (Not that it ever did much good anyway). The Store will update when it gets round to your feed.

Maybe you are looking for

  • I think my hard drive's dead; would like to know more about support

    This is a couple questions, but namely, what's the most effective way to get your iMac turned in for repair? Should I just schedule a time to go to a Genius bar and bring it in, or do I need to go through the whole process of making a support phone c

  • How do I create an application page

    I wanted to know how do I create an application page where people would fill in their information and it would be sent to me. Each field would contain a box where the person puts their information. Also, how do I make text flash. I am using Macromedi

  • Embed sound in PDF on the Web?

    Hello, I've no skills in Acrobat Pro but as it is included in my CS suite I have access to it. I have a customer that would like to open a PDF from a web-site. I've seen that's possible to embed a sound file in a PDF but I'm not sure if that goes eve

  • Connecting EHD to Apple TV to watch VLC videos

    I have a Passport EHD that a friend of mine loaded up with VLC videos and I'm wondering if I can watch these videos on Apple TV if I hook up the EHD to it.

  • RFFOAVIS

    Hi, We are using version ecc5.00. Now i am trying to post some documents through F110 and printing of payment advice. We are using the payment method "c" to pay our vendors. When i am executing F110, I am able to generate the payment document, but no