How to create Manual Accruals in Rebate Agreements via BAPI or ?

I have a requirement to mass create Manual Accruals in Rebate Agreements ( ie. go into VBO2, put in your Agreement No and execute, then choose ACCRUE button, put a value in Accrual To Post field abd SAVE -> a sales doc is created  ).
I don't want to use BDC as it will be tricky to handle the second screen. There is a BAPI BAPI_AGREEMENTS but I can't find any worthwhile documentation or example code for using it, and I'm not sure if it has the required functionality at first glance.
I am now looking at creating the B4 sales docs directly with the Sales Doc create BAPI but can't see a way to link them to the Rebate Agreement number !?
Regards,  J
Edited by: Jonathan Ackers on Feb 7, 2011 4:22 PM

Did you find an answer to this? If not if any one has an answer for this please reply.

Similar Messages

  • Create Rebate agreements using BAPI:BAPI_AGREEMENTS

    Hi,
    My requirement is to create the rebate agreement using BAPI.
    For this I am using 'BAPI_AGREEMENTS'.
    I am passing the below values to TI_BAPIAGRMNT
    *ls_BAPIAGRMNT-OPERATION = .
    *ls_BAPIAGRMNT-AGREE_COND =
    ls_BAPIAGRMNT-SALES_ORG = 'BIC'.
    ls_BAPIAGRMNT-DISTR_CHAN = '02'.
    ls_BAPIAGRMNT-DIVISION = '00'.
    ls_BAPIAGRMNT-AGR_TYPE = 'ZBMS'.
    *ls_BAPIAGRMNT-CATEGORY =
    *ls_BAPIAGRMNT-APPLICATIO =
    *ls_BAPIAGRMNT-CREATED_BY =
    *ls_BAPIAGRMNT-CREAT_DATE =
    *ls_BAPIAGRMNT-CREAT_TIME =
    *ls_BAPIAGRMNT-CHANGED_BY =
    *ls_BAPIAGRMNT-CHANG_DATE =
    *ls_BAPIAGRMNT-CHANG_TIME =
    ls_BAPIAGRMNT-RECIPIENT = 'ST0000'.
    ls_BAPIAGRMNT-AGRMT_CURR = 'USD'.
    *ls_BAPIAGRMNT-AGCURR_ISO =
    *ls_BAPIAGRMNT-EX_DESCR =
    ls_BAPIAGRMNT-STATOFAGRE = 'A'.
    ls_BAPIAGRMNT-VALID_FROM = '05/25/2009'.
    ls_BAPIAGRMNT-VALID_TO = '05/31/2009'.
    *ls_BAPIAGRMNT-COND_GROUP =
    *ls_BAPIAGRMNT-AGRMT_TEXT =
    *ls_BAPIAGRMNT-PAY_METHOD =
    *ls_BAPIAGRMNT-FRMOBJ_TYP =
    *ls_BAPIAGRMNT-FRMOBJ_KEY =
    *ls_BAPIAGRMNT-DEL_FLAG =
         append ls_BAPIAGRMNT to lti_BAPIAGRMNT.
    CALL FUNCTION 'BAPI_AGREEMENTS'
    EXPORTING
      PI_INITIALMODE       =
      PI_BLOCKNUMBER       =
      TABLES
        TI_BAPIAGRMNT        = lTI_BAPIAGRMNT
        TO_BAPIRET2          = lTO_BAPIRET2
        TO_BAPIKNUMAS        = lTO_BAPIKNUMAS
    EXCEPTIONS
      UPDATE_ERROR         = 1
      OTHERS               = 2
    i am getting the values in lTO_BAPIRET2
    Type: E     
    ID:CND_EXCHANGE
    Number:156
    Message:Record KNUMA = , AG_GUID = 00000000000000000000000000000000: agrmt type  deviates from Customizing
    LOG_NO:
    LOG_MSG_NO:00000
    and i am not able to create rebate agreement using this BAPI.If i am passing same values in VBO1 am able to create the agreement.
    Let me know what to do. Am i using correct BAPI or not.If it is correct what r the remaining fields need to be passed.If not let me know the correct procedure.
    Thanks in advance.
    Thanks,
    Vidya.

    Hi,
    I am getting the same problem when trying to create a agreement by using BAPI_AGREEMENTS ??
    pls let me know hw u hav solved the same ???
    With Rgds,
    S.bharani

  • Manual Accrual in rabte agreement..

    Hi All,
    We are in process of moving to SAP from a legacy system. We want to put accruals from legacy system to Rebate agreement in SAP via manual accruals. So that we can know what was the legacy accruals.
    Also we want to check that if we create any invoices, the accruals are getting updated in the Rebate agreements.
    Please suggest how can we use the manual accruals and how can we settle them.
    Satish

    Dear Swetha,
    did you already try to use the e-learning and wiki space?
    I am pretty sure you will find usefule information to learn how rebate processing works.
    Few links you could use to learn about the logic of Rebate processing in SAP:
    Rebates Troubleshooting
    http://wiki.sdn.sap.com/wiki/display/ERPLO/REBATES+TROUBLESHOOTING
    How to do rebate processing
    http://wiki.sdn.sap.com/wiki/display/ERPLO/Howtodorebateprocessing
    If you spend bit of time learning by the existing documentation available, you will realize that when you perform a final settlement of your rebate you can pay out to the customer an amount even higher that your amount accrued,
    If you do desire to limit the amout to pay out to the customer you can use partial settlement; with a partial settlement you can pay out to the customer an amount that is less or equal the amount accrued.
    Anyway, please have a look to the available documentation before to ask explanation about an SAP functionality.
    We are all volunteer in sharing data and information within this forum, however remember that as you we have task to complete and we can not explain in details behaviour of SAP.
    A huge time for self-study is needed for any of us before to post a tread.
    Thanks & Regards,

  • Manual accruals in rebates

    hello,
    i have configured rebates and the system is accruing rebates in the  customer billing documents i create.  the pricing procedure is ZXP001. my questions are as follows :-
    1) do we have to use the same pricing procedure zxp001 in manual accruals order type and it's credit memo request and the same pricing procedure in partial order type/ final settlement order type and their credit memo req ?
    2)  after creating one billing document. when i see the rebate agreement sales volume, the figures are as follows :-
    a)  total  value column shows  200 eur , total accruals value is 200.
    i created a partial payment of 50 and then the  revised figures in sales volume are as follows.
    total  value colum is 150 and total accrual value is 150.
    now i created a manual accural of 25 eur, the system now shows the following values in sales volume as .
    total value column 150 and total accrual  value is 125 ? .
    my question is on doing manual accrual, the system should increase the total accrual value to 175(150+25 ) but the system reduced it to 125 (150-25)  ..... why this is so ?
    the total value column should show 175 since the customer is entitled to more rebates of 25 eur thru manual accural  but it is showing 150 in total value column  ... why this is so ?
    regds
    pamela

    Dear Sachin,
    In rebate process we ahve Manuall accruals and Posting accruals manually but I don't know about manual payment.
    Please go through this SAP help link it will help you about Rebates process detailly in the Sales and Distribution.
    http://help.sap.com/saphelp_47x200/helpdata/en/dd/561270545a11d1a7020000e829fd11/frameset.htm
    I hope this will help you,
    Regards,
    Murali.

  • Reversing of accruals for Rebate agreement with status D

    Issue :
    Rebates were wrongly accrued because business had cancelled final settlement for rebate agreement ,and then created new rebate agreement for final settlement.
    Details:
    Three rebates agreements were created for the same customer .
    Two of them were wrongly created and final settelment was done by business .
    So business cancelled final settellemnt for these 2 rebate agreement.Hence status of these rebate agreement is D.
    (Note -credit memo was not issued for these 2 rebate to the customer)
    Third new rebate agreement was finally created and after final settelment credit memo was issued to customer.
    Now since for first 2 rebate agreement final settelment was done and then cancelled,accruals are still sitting in G/L account.
    Please suggest how to reverse these accruals, so that G/L accounts can be cleared.

    Hi Saurabh
    Why dont u reverse the entry direcely in FI by passing an entry with document type SX to reverse the accrual.
    Thanks
    Indranil

  • Cancel accrual of Rebate Agreement

    Hi
    My client has a requirement. He wants to cancel accruals for a rebate agreement because the accruals were done by mistake. He wants to cancel accruals and delete the rebate agreement.
    I read somewhere that it can be done by deleting the condition records in rebate agreement and then running VBOF. But I tried it in test system, and when I run VBOF it gave messages like "Document xyz is already assigned". Also when I go to "Verification level" and check the accruals are still showing for the Rebate Agreement.
    Can anyone share his experience how this can be handled?

    Hi nicholas
    If  answer has been given or your problem is solved ,kindly close the thread but if it is not solved dont close the thread , but if you have any new problem post it differently
    Regards
    Srinath

  • Book accruals without rebate agreement

    Experts,
    Is there a way in pricing to book accruals directly in FI without using rebate agreements?
    Thanks,
    Jan

    Hi,
    As far as I have understood your requirement I would try this:
    1. create pricing condition for this accural value
    2. put this condition in pricing procedure position after the net price is counted.
    3. Create/assign accrual posting key for this condition in pricing procedure in column: Account key - accruals / provisions.
    here is F1 help for this column:
    <<>>
    Account key - accruals / provisions
    Key which identifies various types of G/L accounts for accruals or provisions.
    Use
    With the aid of the account key, the system can post amounts to certain types of accruals accounts. For example, rebate accruals which are calculated from pricing conditions can be posted to the corresponding account for rebate accruals.
    <<>>
    Maybe it helps you.
    regards,
    wojciech

  • How to create manual key for AES with 256 key size

    we are just finding Different Approch for secure Key Genration and Store.
    For security purpose which way would be secure to store key in database and retrive that key.
    And can u tell me how to create secure maual key.
    Database user has access they should not able to find the what key we are using .
    Anybody has idea.

    1) Use 'keytool' with option -genseckey
    2) Use SecureRandom and store in a Java Keystore.
    3) Use a Secure Random with something like http://www.strongkey.org/
    4) Use hardware encryption such as produced by nCipher and others.
    There are many other approaches and I would suggest that you bring in an expert to advise you.

  • [SOLVED] How to Create an Image from UTF8 Text via Command-line

    As the title points out, I'm trying to create an image from unicode text via command line. I tried...
    convert -pointsize 48 -size 400 caption:测试用 text.png
    But that results in question marks for the Chinese characters. So searching around online I discovered that I needed to specify a font which could display the characters. The characters show up just fine in Firefox, KDE, Kate, Terminal, etc so I know I have a font which can render them. I thought it might be DejaVu but this also resulted in question marks...
    convert -font /usr/share/fonts/TTF/DejaVuSerif.ttf -pointsize 48 -size 400 caption:测试用 text.png
    Any ideas?
    Last edited by tony5429 (2011-01-31 23:17:41)

    DejaVu doesn't contain those Chinese glyphs at all, so please don't blame ImageMagick for not rendering them.
    So, Firefox, Kate, Terminal and the others you stated to use DejaVu, if encounter these characters, fall back to some other fonts to render them. These fonts are, however, not vector, but bitmap fonts. (This can be seen if you increase text size (Ctrl++ in Firefox): the Chinese characters don't change, they remain of their inherent size.)
    Actually, e.g. /usr/share/fonts/misc/18x18ko.pcf.gz definitely contains the three example characters, so the mentioned apps may use this font as fall back.
    Apparently ImageMagick doesn't handle bitmap fonts (I'm not sure), so you won't be able to hit your original target. Anyway, since you tried to parse "-pointsize 48", you wouldn't be satisfied with the font size.
    Your only choice seems to be using the above mentioned CJK-approved TTFs.
    EDIT: typo
    Last edited by barto (2011-01-28 21:52:33)

  • Manual accrual in Rebate

    Hi thr,
    I am trying to create a final settlement for a rebate and when I execute final asettlement, it takes me to a screen where it shows what amount was accrued aganist each condition etc. When I try to increase the amount, it lets me do it and there is no check on it. I can change a value of 2K to 10K and it doesn't stop me.
    Could someone please explain me this behaviour of SAP. Its seems very strange to me.
    Thanks very much !!

    Dear Swetha,
    did you already try to use the e-learning and wiki space?
    I am pretty sure you will find usefule information to learn how rebate processing works.
    Few links you could use to learn about the logic of Rebate processing in SAP:
    Rebates Troubleshooting
    http://wiki.sdn.sap.com/wiki/display/ERPLO/REBATES+TROUBLESHOOTING
    How to do rebate processing
    http://wiki.sdn.sap.com/wiki/display/ERPLO/Howtodorebateprocessing
    If you spend bit of time learning by the existing documentation available, you will realize that when you perform a final settlement of your rebate you can pay out to the customer an amount even higher that your amount accrued,
    If you do desire to limit the amout to pay out to the customer you can use partial settlement; with a partial settlement you can pay out to the customer an amount that is less or equal the amount accrued.
    Anyway, please have a look to the available documentation before to ask explanation about an SAP functionality.
    We are all volunteer in sharing data and information within this forum, however remember that as you we have task to complete and we can not explain in details behaviour of SAP.
    A huge time for self-study is needed for any of us before to post a tread.
    Thanks & Regards,

  • How to create Manual Slideshow Button

    Hi, I'm trying to have a manual slideshow
    controlled by a single simple arrow button
    to either advance or go back
    I've already converted my slideshow to track
    and on the first track/chapter marker I've selected
    Button Highlight Marker
    How do I now create a button that lets the user
    browse all 60 slides manually?
    thanks

    Sorry this reply isn't about creating mannual slideshow button, but it might help solving what you want. You said you want to "lets the user
    browse all 60 slides manually".
    What I did with my slideshow:
    1. Drag all the photos in the slideshow
    2. Check all the boxes "PAUSE" (this way the photo will stay still until the user press "next" of "previous" button in the the remote/ dvd player controller button)
    3. Duplicate the last photo (by dragging from the DVDSP browser)and put it after it's clone.
    4. DON'T check the box "Pause" for this duplicate
    5. Set the duration for this duplicate to 15 frames (00:00:00:15)
    Set the slideshow to "jump to xxx menu" when finish.
    Now, what happen is, when the slideshow starts, the user will see the first slide freeze, and they will manually go back or forth from the player control (not the button on the dvd menu). When it come to the last slideshow, and they hit "next" it will transist to it's clone (that you duplicated), this clone is set to automatically transist after 15 frames and jump to XXX.
    To make the users more aware of the "possibility of going back and forth", or simply to tell the user what the next/ previous slide is, you can create dummy "button" (I just do it with arrow symbol or text "Next" and "Previous") in the appropriate position on the slide. This "button" is only to tell the user there is a next and previous, it doesn't interact. But what it does is making the user press "next" and "back" in the controller.
    I hope this help.
    Message was edited by: Ly Phan

  • How to create correction delivery in schedule agreement

    Hi all -
    I am loading legacy data into SAP and am creating schedule agreements.  I create the agreement using SD_SALESDOCUMENT_CREATE, then COMMIT, then update the schedule lines using BAPI_SALES_DEL_SCHEDULE_CREATE also followed by a COMMIT. This works, and creates the schedule agreement with schedule lines.
    At this same time, or even in another BAPI or function call if need be, I need to create a CORRECTION DELIVERY for this schedule agreement.  I am populating the CORR_***_QTY_IN and CORR_***_QTY_INX in BAPI_SALES_DEL_SCHEDULE_CREATE  with values in every field, and the return tells me 'CORR_CUMQTY_IN has been processed successfully', but when I look at the schedule agreement in VA32, there is no ***. issued qty or ***. delv qty, and no correction delivery has been created.
    What am I missing??
    Thanks so much...
    Sharon

    Hi Shyam -
    I am calling the BAPI_TRANSACTION_COMMIT function right after the BAPI_SALES_DEL_SCHEDULE_CREATE function.  When I call that create function, I am adding schedule lines, so my return table has all of the other successful messages you would expect -
    ORDER_HEADER_IN has been processed successfully
    CORR_CUMQTY_IN has been processed successfully
    DEL_SCHEDULE_IN has been processed successfully
    SCHEDULE_IN has been processed successfully
    Sched. Agr. w/ Rel. 1030000058 has been saved.
    It even says the corrective *** qty was successful....but when I open the schedule agreement, and go to the Forecast Delivery Schedule tab on the line item, the Cml. iss. qty and Cml. dlv. qty fields are blank, and there are no deliveries associated with the order.
    Do I have to use a seperate BAPI to create the correction delivery?  I've looked at BAPI_OUTB_DELIVERY_CREATE_SLS, but I don't see how to specify that this is a correction delivery and not a 'regular' delivery.
    Thanks,
    Sharon

  • How to Create Manual Standby for a Oracle 11g RAC with ASM to Single Instan

    Hi All,
    I have a task to configure a Single Instance Standby Database with ASM for 2-node Primary RAC+ASM database.
    Version using : 11.1.0.6 Oracle 11g --- *" STANDARD EDITION "* Please note datagaurd will not be supported in standard edition.
    Primary database - 2 -Node RAC using ASM storage (All datafiles, redologs, controfile and archive logs)
    Need to setup a single instance standby database manually and than using scripts to transfer the archive logs from primary server to standby server to do recovery time to time.
    Please let me know if there are any configuration document(s) which can help me to set the manual standby? or need your kind help to give your valuable ideas how to go in above situation.
    Thanks in advance

    Niall Litchfield wrote:
    El DBA wrote:
    Well if the archive logs are stored in ASM on the primary nodes, you almost definitely want to be using RMAN to access them. Then to transfer between primary and standby there are many options, this is essentially the step that Data Guard takes care of - so if you (and I) are running Standard Edition, this is the part to "worry" about.
    I'm not really sure what you mean by this:
    As in standard edition the archive destination will be on ASMI don't think the Edition of Oracle (Standard or Enterprise) dictates where and how you store your archive logs, but it's possible I've misunderstood what you mean...SE dictates that database storage for RAC will be ASM, including archive log files. Anything else is not officially supported. I haven't tested but it may be that you can use LOG_ARCHIVE_DUPLEX_DEST to specify a local filesystem for archive log files as well.
    If that doesn't work you'll have to script rman "backup as copy" jobs regularly and then transport the results of that.
    Niall Litchfield
    http://www.orawin.info/
    By the way, it seems Robert has been pretty helpful, it's polite to give him some points dude. And since this is your thread, not mine, give him a "helpful" from me too :p
    El DBA
    Incidentally if you are forced down the RMAN backup as copy route then this will likely throw your current backup retention strategy somewhat, you'll need to think carefully about when an archivelog can be deleted following backup, how many times it might be backed up and so on. I do understand, and have argued for, the use of SE RAC. I also understand and have argued for and implemented manually managed standby a number of times. However by the time your primary database is a RAC instance and you need a standby for DR etc then you really have to look very seriously at whether Standard Edition is still the right investment or not. You will be spending a lot of DBA time managing and troubleshooting this, and you will find that it is less reliable than the off the shelf solution. I suspect that you are very close to the point where an EE installation becomes a worthwhile investment here.
    Niall Litchfield
    http://www.orawin.info/

  • How to create manually the HTML-DB?

    Hello,
    I had create a database with CREATE DATABASE. After that I had execute the following scripts:
    @D:\OracleXE\app\oracle\product\10.2.0\server\rdbms\admin\catalog.sql;
    @D:\OracleXE\app\oracle\product\10.2.0\server\rdbms\admin\catblock.sql;
    @D:\OracleXE\app\oracle\product\10.2.0\server\rdbms\admin\catproc.sql;
    @D:\OracleXE\app\oracle\product\10.2.0\server\rdbms\admin\catoctk.sql;
    @D:\OracleXE\app\oracle\product\10.2.0\server\rdbms\admin\catqm.sql SYSTEM SYSAUX TEMP;
    How I can now create the HTML-DB?
    Regards,
    Mark

    Mark,
    Are you doing this with the Database 10g Express Edition?
    Joel

  • How to create universe folder in BO XI via SDK

    Hi all,
    I'm just starting to use the BOXI SDK. I've used the sample to create new folders, it worked perfectly.
    But now I would like to create new universe folders but I have no idea how to do it. Here is the sample to create a folder :
    int addFolder (int parentFolderID, String folderName, String folderDescription, IInfoStore infoStore)
        int objectID = 0;
        try
         * Since folders are implemented using a plugin,
         * you will need the PluginManager to retrieve the folder plugin.
        IPluginMgr pluginMgr = infoStore.getPluginMgr();
         * Retrieve the Folder plugin by passing the plugin ProgID
         * to the PluginInfo property of the PluginManager.
        //IPluginInfo folderPlugin = pluginMgr.getPluginInfo("CrystalEnterprise.Folder");
        IPluginInfo folderPlugin = pluginMgr.getPluginInfo("CrystalEnterprise.Folder");
        // Create a new, empty InfoObject collection.
        IInfoObjects newInfoObjects = infoStore.newInfoObjectCollection();
         * Give the Folder plugin object to the Add method.  This
         * creates a new InfoObject based on the plugin type.
         * In this case, since the plugin is the folder plugin,
         * the object created is a folder object.
        newInfoObjects.add(folderPlugin);
           IInfoObject infoObject = (IInfoObject) newInfoObjects.get(0);
        // Specify the folder's details._ENDLOC   _
        infoObject.setTitle (folderName);
        infoObject.setDescription (folderDescription);
        objectID = infoObject.getID();
         * The next line indicates where in the folder tree the
         * folder is to be created.  It does this by setting the
         * parent ID property or, in other words, by telling the folder
         * which folder is its parent. If the parent ID property is
         * zero, then the folder has no parent and is thus a top-level
         * folder.
        infoObject.properties().setProperty(CePropertyID.SI_PARENTID, parentFolderID);
         * Use the infoStore to commit the new collection with the new folder
         * to the CMS database.
        infoStore.commit (newInfoObjects);
         }catch (SDKException e) {
              throw new Error("Impossible d'ajouter le dossier. Exception survenue : "
                                      + e.getMessage());
         }catch (NullPointerException e) {
              throw new Error("Impossible d'ajouter le dossier. Exception survenue : "
                                      + e.getMessage());
        return objectID;
    Could someone give me some clues or code sample (preferably in Java or C#) in order to solve this problem?
    Thank you in advance for all information and help you could provide.
    Best regards,

    I wouldn't expect the code to be any different for universe folders, you just need to find the id for the top level folder for the universes.  It might be easiest to add a folder there manually and check its properties.

Maybe you are looking for