T-Code WRFMATBODY before saving

Hi All,
For the T-Code WRFMATBODY , before saving I have a requirement to check the creation status field and allow only particular users to do the changes for the article.
For that I am trying to implement the check the condition in u201CIF_EX_WRF_MAT_MAINTENANCE~CHECK_DATA_BEFORE_POSTINGu201D for that I created a custom class interface YCL_IM_WRF_MAT_MAINTENANCE and trying to apply the changes in the above mentioned method CHECK_DATA_BEFORE_POSTING.
The importing parameter IV_DATA_OBJECT is of the type CL_MATERIAL_MAINTAINDATA. At the time of saving the values are getting populated only in the protected attributes like ORGANIZATIONAL_LEVEL, FIELDCATALOGUE etc.
Since itu2019s a protected attribute its prompting error when I access in a normal manner. Can you please help me out how to access the protected attribute.
Please help me ....
Thanks,
KK

Hi Pavan,
I have tried accessing the protected attribute using Inheriting property, but since iam writing the code in the method, its prompting syntax error.
For example like this,
class l_org definition.
  protected section.
  data ORGANIZATIONAL_LEVEL type WRFSCREENVALUES.
endclass.
class lv_data_object definition inheriting from l_org.
  methods get_data.
endclass.
class lv_data_object implementation.
method get_Data.
  data:  l_org type ref to CL_MATERIAL_TEMPLATEDATA,
         LV_DATA_OBJECT type ref to CL_MATERIAL_MAINTAINDATA.
         lv_data_object->ORGANIZATIONAL_LEVEL = 0.
  endmethod.
endclass.
i tried the other way assigning field symbol. The field symbol is not getting assigned.
For example like this,
field-symbols:<lo_lcl> type any.
lv_data_object ?= Iv_data_object.
create object lv_data_object.
lv_org = 'ORGANIZATIONAL_LEVEL'.
assign lv_data_object->(lv_org) to <lo_lcl>.
I tried using ME->ATTRIBUTE, that is also prompting error.
I tried using super class that is also prompting error.
The main class to which the importing parameter IV_DATA_OBJECT is assigned is CL_MATERIAL_MAINTAINDATA and the super class for this is CL_MATERIAL_TEMPLATEDATA.
The Protected attribute is in the class CL_MATERIAL_MAINTAINDATA.
Can you plz help me out how to retrieve from the importing parameter IV_DATA_OBJECT which is of type CL_MATERIAL_MAINTAINDATA.
Thks,
Kiran

Similar Messages

  • Tcode FV50: How to find long text in FI Document line item Before Saving.

    Hi,
    How to find long text in FI Document line item.
    During Parking of the FI document through Tcode FV50 i m giving the some text in the long text not in the text field.
    I would like to validate the Long Text Before Saving in user exit "U300" under  the  "Sunstitution" .
    Please anybody can be help me out where exactly this long text is going to be stored or in which internal table or memory id.
    Please give me the answer as soon as possible .
    Note:- Read_Text function module is not useful. Because Read_text useful after saving document.

    Hi Amit,
    In application area FINANCIAL ACCOUNTING , go for node LINE ITEM. Here create a step & maintain the prerequisite as per your requirement & in the check you can mention the code or you can direct it to a custom program like ZFI_RGGBR000.
    Here while maintaining the check you will get structures BKPF & BSEG in which you will get the desired field you are looking for.
    Just try to explore in your system how the other validations are maintained.
    After you are done with all your code, you have to run the regeneration program RGUGBR00.
    Here utmost care should be taken while running regeneration program, you should select all the checkboxes in the selection screen except  GENERATE SETS, GEN SUBSTN ROUTNS IN ALL CLNTS  & TRACE PROG. GENERATE CALLS .
    Hope this make your doubt clear.
    Regards
    Abhii

  • Pop up Window before saving remembering the need (forcing) to fill required fields in a form

    Hi!
    I searched the "old" forum and have very good help from UVSAR but unfortunately I'm not able to access my message sent to that forum anymore.
    [I could never thank all the people who answered because I keep receiving "Your submission has triggered the spam filter and will not be accepted.""]
    I've have never use Java scripts in my life: I started about three days ago.
    1) I'm using Adobe Acrobat Pro X (Windows 7)
    2) I've created a form using Microsoft Word and save it as a pdf file.
    3) After I created a form using Acrobat Pro X;
    3.1.) This form it's not going to be submitted over Internet. It will be send by e-mail to some persons. They will receive it, fill in the form and send it back to me via e-mail. Note: I will save it with extended rights in order to allow to be read with acrobat reader (I'm the only one of the group having Professional edition).
    4) In that form I've created some text fields (for now it's just what I need - no radio buttons, dropdown
    menus, and so...)
    5) Choosed Properties and marked 7 fields as "required";
    6) Used a script I found in here: http://forums.adobe.com/thread/784322 (thank you for the authors of the thread)
    if (!event.target.valueAsString) {
    app.alert("My text My text", 3);
    7) This script allows me to remember people to fill that 7 specific fields (when using mouse or tab).
    8) So... What I really need? Here are the reasons for my request for help:
    8.1.) When people use the Acrobat Reader Save button (not a button I created inside the form) it will pop up an alert message. Users will receive a pop up window telling them they need to fill those fields before saving the form and send it back to me. Can someone share a script, please? Thanks in advance.
    8.2.) Is there a way to colorize the fileds that need to be filled? Again I only learned where to insert a java script yestaerday sou I'm not able to write one. I'm sorry for my newbie questions.
    8.3.) Last question: In one of the fields there will be an e-mail address. On the end of the form I want to create a button like "Send by e-mail" and When someone press that button the e-mail will be sent to the address that was written in the earlier specific field. How can I do this (link a button to an e-mail address in a specific field)? Can someone help me with a script or ideas? Hope I was clear.
    8.1.) UVSAR sent me the following code that works fine untill I save the document for the first time. Affter that he never shows me pop up window again.
    var isFilled = true;
    for (var i=0;i < this.numFields;i++){
    var f = this.getNthFieldName(i);
    if (this.getField(f).required && !this.getField(f).valueAsString) isFilled = false;
    if (!isFilled) app.alert("You must complete all the required fields");
    8.3.) With the help of UVSAR I used:
    var mailto = this.getField('emaddr').valueAsString;
    if (mailto!='') this.mailForm({ bUI:true, cTo:mailto, cSubject:"This is the subject", cMsg: "This is the body of
    the mail." });
    else app.alert("Cannot submit form until the email address field is completed");
    but gives me an error (Note: I named the filed with e-mail "emaddr")
    Once again Thank you so very very much to all the kind people who take their time to share knowledge...
    I'm not a native speaker, sorry for some errors
    Best regards
    AC

    Hi Winnie
    Unfortunately I have been sick and did not read the message before. I apologize.
    I have not received help beyond what is on the page. But when I get I tell you.
    I hope you can get answers. If you receive, I ask that you share with me.
    thank you very much
    best regards
    AC
    Date: Mon, 27 Feb 2012 09:33:10 -0700
    From: [email protected]
    To: [email protected]
    Subject: Pop up Window before saving remembering the need (forcing) to fill required fields in a form
        Re: Pop up Window before saving remembering the need (forcing) to fill required fields in a form
        created by Win_Form in Forms - View the full discussion
    Hi ACI wonder if you can share any responses on to your question above?I too have never used a script but, I have the same problems as you in regards to building a form. And wants to have the same 'protection' and message reminders for the end users. Any information, including a script and/or a contact email of experts you can share with me will help tremendously. Thank you so much in advance. Winnie
         Replies to this message go to everyone subscribed to this thread, not directly to the person who posted the message. To post a reply, either reply to this email or visit the message page: http://forums.adobe.com/message/4232307#4232307
         To unsubscribe from this thread, please visit the message page at http://forums.adobe.com/message/4232307#4232307. In the Actions box on the right, click the Stop Email Notifications link.
         Start a new discussion in Forms by email or at Adobe Forums
      For more information about maintaining your forum email notifications please go to http://forums.adobe.com/message/2936746#2936746.

  • Net value of sales order before saving in VA01

    Hi there,
    I'm currently working with the transaction VOFM whereby i need to get the <b>net value</b> of the current sales order in order to compare with a deposit value which the customer has made.
    a condition type is activated whenever the net value is < the deposit which the customer makes,i.e when sy-subrc EQ 0.
    My problem is that the routine in VOFM(where i have added my code),is triggered before i save the order, hence all i get as net value is always 0.00. That routine is again triggered after i save as well, but it doesnt work as i expected even if i get the net value then.
    I have in fact used the routine USEREXIT_PRICING_PREPARE_TKOMP of include MV45AFZZ, where i could get the net value from the field XVBAK-NETWR <b>after saving the order</b>.
    i thought that now it gets the right value, it'l work as expected but the fact that the VOFM routine is triggered before saving(hence net value 0.00), the condition type doesn't change after i save.
    Hence, my condition type is not being applied properly because the condition type is being activated already when it get the net value 0.00.
    Can anyone please tell me if there is a way to get the net value before saving?
    Thanks for your help.
    Regards,
    Meenakshi

    Hi,
    I have in fact used export flag to memory in FORM USEREXIT_PRICING_PREPARE_TKOMP from which i get the net value after saving.
    In fact, i have figured out the problem but still cannot solve it.
    What happens i that the VOFM routine is triggered more than once, hoewever, the first time it is triggered, i still havent got that net value. In this pass, when the routine ends, sy-subrc eq 0. Upon the next pass to the VOFM routine, i set sy-subrc to 4(condition type not activated), however the result is wrong. The condition type is activated still.
    if i do the contrary, i.e set sy-subrc to 4 on the first pass to VOFM routine and then set sy-subrc to 0 second time(condition type needs be activated), the condition type is not activated.
    what i dont understand is why the VOFM routine is only keeping the initial value of sy-subrc?Any ideas?
    Also, am doing my validations and setting sy-subrc in the form kobev_900.
    Am not using the form kobed_900 at all. Does this make a difference?
    Also, how can i do the validation only when repricing was called form SAVE process?How do i put the condition?
    Thanks for the help.
    Meenakshi

  • Ho to Generate the Numeric Values Automatically before saving the records

    Hello to everybody,
    I have a data block naming “BILL” consisting of the following 3 field.
    1. Sr_No
    2. Bill_Amount
    3. Description
    This Data Block consist 10 records at a time.
    I want that whenever I insert records in the above data block.
    Serial No should automatically be generated.
    For this I have applied the following code in “WHEN-NEW-ITEM-INSTANCE” trigger.
    <CODE>
    SELECT NVL(MAX(Sr_No),0)+1 INTO :BILL.Sr_No FROM BILL;
    </CODE>
    Whenever I insert records in the BILL data block, the first row automatically generates the “Sr_No”, but when I move to the next record, (remember currently I have not saved the record), the same value which appeared in the previous record appears in the Sr_No field.
    For example, when I insert records for the first time in the BILL, the Sr_No field automatically generates value “1”, but when I move to the next record while not saving the first record the next row still generating value “1”, while it should be value “2” and so on.
    Note that I want that before saving the previous record when I move to the next row, the Sr_No should generate the next continuous value like in example.
    Please help me to solve out this problem.

    You have practically scratched you left ear with your right foot while jumping on the left foot :-)
    Seriously, you guys don't need to go to all this trouble.
    If you want a serial number incrementation, all you need to do is to either select the max value + 1 from the table or select the next value from a sequence in an PRE-INSERT trigger on block level, and that's it!!!!
    Tony

  • Restrict Duplicate entry of record before saving the form

    Hi!!
    I need to validate duplicate entry of ITEM CODE before saving the FORM. Which means, if I have entered an ITEM CODE in a row, the same ITEM CODE should not be allowed to be entered in any other rows. It should throw an error message and should ask to enter another ITEM CODE instead. I did not get the correct logic from the threads.
    Regards
    Mitto

    hey i have a requirement that to restrict duplicate entry in both block(both multi record).the blocks are DEPT(MATER)
    EMP(DETAIL)
    the associated fieds in master block DEPT.DEPT_NO,in detail EMP.EMP_ID .
    I have done' Kevin D Clarke’s calculated item ' both in master and detail block
    its working fine for master block but in case of detail block its only respond to the current session(i.e. if the new value is inserted or save it will restrict another record to be inserted of that last record's value),it does not restrict duplicate value enter ,checking with other existing records(which are saved in earlier session,though after query it is shown on the form)
    can anyone guide me why its not working

  • ME32K: read text before saving

    Hi everybody,
    I have checked some threads that I think could help me with my problem but I have no luck. My be somebody can help me...
    I need to check a specific header text at ME32K transaction before saving. If the user complete it everything is ok, if not an error message appears. I solved this with an exit, but the problem is that the text is not saved at this point, I need to get it from memory and I'm not solving this point.
    Do you have any ide to solve this?
    Kind regards!

    Uhm ok
    That exit is developed for PO, so I've inserted my code in that exit:
    DATA: L_NAME TYPE THEAD-TDNAME.
      DATA: TLINES TYPE STANDARD TABLE OF TLINE.
      MOVE I_EKKO-EBELN TO L_NAME.
      CALL FUNCTION 'READ_TEXT'
        EXPORTING
    *     CLIENT                        = SY-MANDT
          ID                            = 'K01'
          LANGUAGE                      = 'I'
          NAME                          = L_NAME
          OBJECT                        = 'EKKO'
    *     ARCHIVE_HANDLE                = 0
    *     LOCAL_CAT                     = ' '
    *   IMPORTING
    *     HEADER                        =
        TABLES
          LINES                         = TLINES
    *   EXCEPTIONS
    *     ID                            = 1
    *     LANGUAGE                      = 2
    *     NAME                          = 3
    *     NOT_FOUND                     = 4
    *     OBJECT                        = 5
    *     REFERENCE_CHECK               = 6
    *     WRONG_ACCESS_TO_ARCHIVE       = 7
    *     OTHERS                        = 8
      IF SY-SUBRC <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    Now I'm go to the header text, do a modification to the text ID K01 and press the CHECKING in order to trigger the exit.
    If I run the process above in debug way, in table TLINES I can see the current text (so all modifications I've done)
    Max

  • Create Credit Memo (VA01) - Problem of checking a field before saving

    Hello!
    In tcode VA01, why a field (ex. Customer Group) is checked to be filled before saving in case of a Standard order (type OR, or for us is ZOR), but not in case of a Credit Memo (type CR, or for us is ZCR) ? Is this Config problem? If yes, do you know how to config? If not, do you know any User-Exits I should use? I've tried some but didn't work.
    Please help if you can. Thanks!!

    Hi Timmy,
    Please go to include MV45AFZZ and try the user exits
    USEREXIT_SAVR_DOCUMENT
    in here VBAK values are present in XVBAK and VBAP values in table XVBAP....
    Write the required code here and see if it solves our problem
    Every time user clicks the 'SAVE' button it has to go through this exit
    Regards
    Byju

  • How to validate plan data before saving the data

    I have a total row in my planning layout which is a summation of plan data in 2 other rows. While saving the data, I should check whether the total is 200 and if not the data should not be saved. How can I achieve this! Any help would be appreciated.
    Regards,
    Tipo.

    Hi,
    I'm also facing the same problem in my development...I tried above all the ways,but we cannot stop saving the wrong data.In this case you have to write the java script for save button, before saving the data if it is correct then go for the next step to save other wise throw an error message or without save the data .
    You need to write the JAVA script for save button,in this code you need to read the data form the layout and check the total value, i am not sure if layout is dynamic how we can achieve this???.
    My development also stopped for this issue,In my case i  have two layouts ,one is for actual and another one is for Planing layout(Function - Distribution equally),using the fox code i succeed to read and throw an error message for incorrect data but i can not stop to saving for incorrect total data.
    Once you solved this problem please post the message in SDN.This type of requirements is very tough and we need to share to our friends.
    Thanks.

  • Changing Item Values before saving Purchase Requisition in me51n, set_data function

    Hello,
            I have written a user exit, which is called whenever changes are made to a purchase requisition. User Exit is MEREQ001 , function module EXIT_SAPLMEREQ_010 . My requirement here is that the Requisitioner should be 135 for every PR item under certain conditions. Therefore whenever there is any change made to the PR, before saving the PR item, I need to set the Requisitioner to 135, give a status message saying that the Requisitioner is set to 135 and save the Pr with the changed values. Following is the code I have written in EXIT_SAPLMEREQ_010. However, the set_data function called below does not change the PR values. Pls help
    data: lt_item type mmpur_requisition_items,
           wa_item type mmpur_requisition_item,
           wa_itemdet type mereq_item,
           wa_itemref type ref to if_purchase_requisition_item,
           w_message type i.
    constants: c_135 type afnam value '135'.
    call method im_req_header->get_items
         receiving
                 re_items = lt_item.
        loop at lt_item into wa_item.
         wa_itemref = wa_item-item.
         wa_itemdet = wa_itemref->get_data( ).
         if wa_itemdet-afnam ne c_135.
           w_message = 1.
           wa_itemdet-afnam = c_135.
           call method wa_itemref->set_data( wa_itemdet ).
         endif.
       endloop.
      IF w_message = 1.
        MESSAGE 'Requisitioner defaulted to 135 for all items' TYPE 'I'.
      ENDIF.

    Hi Sachin,
               I am able to get a reference to if_purchase_requisition_item in my code (wa_itemref ) and am also able to access each of the line items in the PR in the work area wa_itemdet.
    At this point in the code ( wa_itemdet-afnam = c_135 ) , the work area value is set to '135', However, call method wa_itemref->set_data( wa_itemdet ), does not change the values of the work area wa_itemdet . Pls help

  • MB1B User exit or Badi before saving transaction

    Dear friends ,
    I need to identify a user exit or badi that I can use to populate one field in tcode MB1B before saving.
    How could I find it ?!
    best regards,
    Ale

    Hi Alessandro,
      Hope you find this useful..
    For Finding user exits
    [http://www.erpgenie.com/sap/abap/code/abap26.htm]
    Find a BADI called from within an SAP transaction
    The following steps will allow you to simply find a BAPI that is linked to an SAP transaction code.
    1. Execute transaction SE37 or SE80 and find function module 'SXV_GET_CLIF_BY_NAME'.
    2. Insert a breakpoint in it.
    3. Now go to the SAP transaction you want to find a BADI in.
    4. When you execute it, it will stop at the above function module.
    5. Look at the value of field EXIT_NAME.
    6. This will provide you with the name of the BADI that is available in your SAP transaction code.
    This technique can be used to find out the BADI for given transaction.
    Follow below steps.
    Go to transaction ST05, select buffer trace and click on activate trace button.
    Now run your transaction code for which you want to find out the customer exits.
    Go back to ST05, click on deactivate trace and display trace.
    A popup screen "Set Restrictions for Displaying Trace" appears. Now, filter the trace on Objects V_EXT_IMP and V_EXT_ACT
    All the interface class names of view V_EXT_IMP start with IF_EX_. The BADI name is the name after the IF_EX_.
    E.G: in the name IF_EX_ME_PROCESS_PO_CUST BADI name is ME_PROCESS_PO_CUST.
    How to find BADI
    1. Go to the TCode SE24 and enter CL_EXITHANDLER as object type.
    2. In 'Display' mode, go to 'Methods' tab.
    3. Double click the method 'Get Instance' to display it source code.
    4. Set a breakpoint on 'CALL METHOD cl_exithandler=>get_class_name_by_interface'.
    5. Then run your transaction.
    6. The screen will stop at this method.
    7. Check the value of parameter 'EXIT_NAME'. It will show you the BADI for that transaction.
    Regards

  • Validation of Item Values before saving the form

    Hi,
    I have requirement in Oracle Forms, we give header information as per the requirement and the lines info of the specific header. In lines whe have two feild as type and amount. If the type is 'E' then we need to sum up the amount value as credit and if type is 'F' we need to sum up of those feild values as Debit and before saving the form we need to check the sum of Credit and Debit is equal or not if equal then we should allow to save the form else it should not. We can have multiple lines under single header..Can any body help on this..Its very emergency..
    Thanks,
    Maggi.

    Hi,
    In Customer-exit ILOM0001 read table IMPT_BUF[] from sap stack. It contains all enteries of measuring points.
    Use below mentioned code in above exits for your reference.
    FIELD-SYMBOLS : <fs_impt> type ANY TABLE.
    data : tab_impt type TABLE OF impt.
    ASSIGN ('(SAPLIMR0)IMPT_BUF[]') to <fs_impt>.
    if sy-subrc is INITIAL.
      tab_impt = <fs_impt>.
    endif.
    table TAB_IMPT is filled wilth all entries of measuring point while creating and changing functional location.
    Thanks,
    Vijay

  • How to read the status changed in crmd_order txn before saving it to DB.

    hello all,
    My requirement is to perform some checks after the user changes the status
    ( Before saving it to DB i need to do some checks )
    I could find the BADI and Fm's for checking conditions.
    My question is i need to check for a particular status change how do i trace that that particular status which i need to capture has been changed??
    i could see some FM's but it is only fetching the staus save in DB.
    how do i trace the status just after user changes before saving it to DB.
    it's an urgent requirement............pls help me on this..........
    pls get back to me if u want more  details.........
    Thanks,
    Shiva.

    Hello.
    Have you figured this out yet?  We are having the same problem.

  • User Exits for transaction VF01 before saving the billing document

    Can any one say is there any user exit which exits before saving the billing document since i want to check the net value of the billing with the net value of sales order so that it should not go beyond the total amount specified in sales order.

    J_3RSINV
    SDVFX001  User exit header line in delivery to accounting
    SDVFX002  User exit for A/R line in transfer to accounting
    SDVFX003  User exit cash clearing in transfer to accounting
    SDVFX004  User exit G/L line in transfer to accounting
    SDVFX005  User exit reserves in transfer to accounting
    SDVFX006  User exit tax line in transfer to accounting
    SDVFX007  User exit: Billing plan during transfer to Accounting
    SDVFX008  User exit: Processing of transfer structures SD-FI
    SDVFX009  Billing doc. processing KIDONO (payment reference numbe
    SDVFX010  User exit item table for the customer lines
    SDVFX011  Userexit for the komkcv- and kompcv-structures
    V05I0001  User exits for billing index
    V05N0001  User Exits for Printing Billing Docs. using POR Procedu
    V60A0001  Customer functions in the billing document
    V60P0001  Data provision for additional fields for display in lis
    V61A0001  Customer enhancement: Pricing
    These are the Exits Available in the Package
    Jus try finding which will suffice ur Requirement.
    Regards,
    Mithun

  • Print Preview of PO before saving .

    Dear Experts ,
    Is it possible to view a print preview of a PO after  just checking the PO & before saving it ??
    If yes pls let me know how ?
    Regards
    Anis

    Hi Anis,
    yes, you can view a PO in print preview in ME21N before saving it but the following are pre-requisities:
    1 - There are valid messages defined for the PO - check by clicking on 'Messages' at the top of the screen. So long as there is a message defined, you can display, if not, add the output type that you would like to use (NEU for example).
    2 - The output type must be pointing correctly to a printer or valid e-mail address (for e-mail outputs)
    3 - You must have access to transaction ME9F in authorisations - although you are not navigating to ME9F, you will still need the access
    If these things are OK, click on print preview and you will get an image of what the printed document will look like.
    Rob

Maybe you are looking for

  • 6110 Navigator Bug List - Nokia Fix These Please!

    Hi, If there are any people out there who is reading this forum and caring for it's customers we need the following bugs fixed which still exists after the 4.22 update 6 months ago. We are group of 6110N users who have chosen this phone over your pre

  • Down Payment Processing on the Basis: Document Condition

    Hi all, since Enhancement Pack 2 there is a new possibility of down payment process. The new process is not depending on billing plan instead depending on Document conditions. With this you can also have the the final invoice delivery related. In the

  • How to make export/import of an Enterprise portal application flexible?

    Hi, I've created simple portal using Portal Content Studio. The portal contains lots of URL iViews that shows some parts of the UI of a third party product deployed on the same NetWeaver App server. If the portal is exported and afterwards it is impo

  • HT1420 How do I deauthorize computers that are dead and buried?

    iTunes says I have reached my limit of 5 computers, but at least 3 of those are dead and buried. I do have 2 hard drives that were authorized long ago, but are now slaved on other computers but itunes won't pick up the drm's. Any thoughts? Thanks

  • Libaio solaris sparc client 11.2.0.3

    With Oracle Database 11g Release 2 (11.2.0.3) I have this issue when link my objects: On Solaris Sparc, solaris 10 libclntsh.so.11.1: undefined reference to `aiocancel@SUNW_1.23' llibclntsh.so.11.1: undefined reference to `aiowait@SUNW_1.23' libclnts