Creating a line item credit memo

Hi,
Please let me know how to create a credit memo in line item in ASN.
Thanks,
Neelima
Edited by: S Neelima on Nov 16, 2009 8:09 AM

resolved

Similar Messages

  • Error whil creating Service Line item in ME51N using BAPI_PR_CREATE

    Hi Experts,
                Am able to create PR number using BAPI_PR_CREATE, but when am trying to create Service line item am getting acc assignment error please check my code and solve my issue. ..its very adj  please help me .
    DATA : t_bapimereqitemimp TYPE TABLE OF bapimereqitemimp ,
          t_bapimereqaccount TYPE TABLE OF bapimereqaccount,
          t_bapimereqaccountx TYPE TABLE OF bapimereqaccountx,
          t_pritemx    TYPE TABLE OF bapimereqitemx,
          wa_bapimereqitemimp        TYPE bapimereqitemimp,
          pr_number  TYPE bapimereqheader-preq_no,
          wa_prheader  TYPE   bapimereqheader,
          wa_prheaderx TYPE  bapimereqheaderx,
          wa_pritemx   TYPE  bapimereqitemx,
          wa_bapimereqaccountx TYPE bapimereqaccountx,
          wa_bapimereqaccount TYPE bapimereqaccount,
          t_return     TYPE TABLE OF bapiret2,
          wa_return    TYPE bapiret2.
    DATA : t_bapi_srv_limit_data TYPE TABLE OF bapi_srv_limit_data,
            wa_bapi_srv_limit_data TYPE bapi_srv_limit_data.
    DATA servicelimitx  TYPE TABLE OF bapi_srv_limit_datax.
    DATA w_servicelimitx  TYPE bapi_srv_limit_datax.
    DATA : t_servicelines TYPE TABLE OF bapi_srv_service_line,
            w_servicelines TYPE bapi_srv_service_line,
            t_servicelinesx TYPE TABLE OF bapi_srv_service_linex,
            w_servicelinesx TYPE bapi_srv_service_linex,
            t_bapi_srv_acc_data TYPE TABLE OF bapi_srv_acc_data,
            w_bapi_srv_acc_data TYPE bapi_srv_acc_data,
            t_bapi_srv_acc_datax TYPE TABLE OF bapi_srv_acc_datax,
            w_bapi_srv_acc_datax TYPE bapi_srv_acc_datax.
    DATA : t_bapimereqitem TYPE TABLE OF bapimereqitem,
            w_bapimereqitem TYPE bapimereqitem.
    DATA :  t_bapimereqitemx TYPE TABLE OF bapimereqitemx,
            w_bapimereqitemx TYPE bapimereqitemx.
    wa_prheader-pr_type  = 'RV'."lv_doc_type.
    wa_prheaderx-pr_type = 'X'.
    wa_bapimereqitemimp-preq_item  = '1'."wa_eban-item.
    wa_bapimereqitemimp-pur_group  = '100'."wa_eban-ekgrp.
    wa_bapimereqitemimp-preq_name  = 'E.R. TITTO'."wa_eban-afnam.
    wa_bapimereqitemimp-short_text = 'AC Fitting'."wa_eban-txz01.
    wa_bapimereqitemimp-material   = ' '."wa_eban-matnr.
    wa_bapimereqitemimp-plant      = '1000'."wa_eban-werks.
    wa_bapimereqitemimp-store_loc  = 'ST00'."wa_eban-lgort.
    wa_bapimereqitemimp-matl_group = 'Z13'."wa_eban-matkl.
    wa_bapimereqitemimp-quantity   = '1'."wa_eban-menge.
    wa_bapimereqitemimp-unit       = 'AU'."wa_eban-meins.
    wa_bapimereqitemimp-deliv_date =  '20140604'."wa_eban-lfdat.
    wa_bapimereqitemimp-preq_price = '100'."wa_eban-preis.
    wa_bapimereqitemimp-item_cat   = 'D'."wa_eban-pstyp.
    wa_bapimereqitemimp-acctasscat =  'K'."wa_eban-knttp.
    wa_bapimereqitemimp-fixed_vend = ' '."wa_eban-flief.
    wa_bapimereqitemimp-purch_org  = '1000'."wa_eban-ekorg.
    wa_bapimereqitemimp-currency   = 'INR'."wa_eban-waers.
    wa_bapimereqitemimp-pckg_no = '00000001'.
    wa_bapimereqaccount-preq_item  = '1'."wa_eban-item.
    *wa_bapimereqaccount-serial_no  = '01'.
    wa_bapimereqaccount-gl_account = '0000002244'."wa_eban-sakto.
    wa_bapimereqaccount-costcenter = 'OPSD'."wa_eban-kostl.
    APPEND wa_bapimereqitemimp TO t_bapimereqitemimp.
    APPEND wa_bapimereqaccount TO t_bapimereqaccount.
    wa_pritemx-preq_item  = '1'."wa_eban-item.
    wa_pritemx-pur_group  = 'X'.
    wa_pritemx-preq_name  = 'X'.
    wa_pritemx-short_text = 'X'.
    wa_pritemx-material   = 'X'.
    wa_pritemx-plant      = 'X'.
    wa_pritemx-store_loc  = 'X'.
    wa_pritemx-matl_group = 'X'.
    wa_pritemx-quantity   = 'X'.
    wa_pritemx-unit       = 'X'.
    wa_pritemx-deliv_date = 'X'.
    wa_pritemx-preq_price = 'X'.
    wa_pritemx-item_cat   = 'X'.
    wa_pritemx-acctasscat = 'X'.
    wa_pritemx-fixed_vend = 'X'.
    wa_pritemx-purch_org  = 'X'.
    wa_pritemx-currency   = 'X'.
    wa_pritemx-pckg_no   = 'X'.
    wa_bapimereqaccountx-preq_item  = '1'."wa_eban-item.
    *wa_bapimereqaccountx-serial_no  = '01'.
    wa_bapimereqaccountx-preq_itemx = 'X'.
    wa_bapimereqaccountx-serial_nox = 'X'.
    wa_bapimereqaccountx-gl_account = 'X'.
    wa_bapimereqaccountx-costcenter = 'X'.
    APPEND wa_pritemx TO t_pritemx.
    APPEND wa_bapimereqaccountx TO t_bapimereqaccountx.
    **Service item limit
    *wa_bapi_srv_limit_data-doc_item = '10'.
    wa_bapi_srv_limit_data-overall_limit = '1000'.
    wa_bapi_srv_limit_data-exp_value = '800'.
    APPEND wa_bapi_srv_limit_data TO  t_bapi_srv_limit_data.
    *w_servicelimitx-doc_item = '10'.
    w_servicelimitx-overall_limit = 'X'.
    w_servicelimitx-exp_value = 'X'.
    APPEND w_servicelimitx TO servicelimitx.
    w_bapimereqitem-preq_item = '10'.
    ***w_bapimereqitem-preq_name = 'E.R. TITTO'.
    ***w_bapimereqitem-plant = '1000'.
    ***w_bapimereqitem-store_loc = 'ST00'.
    ***w_bapimereqitem-matl_group = 'Z03'.
    ***w_bapimereqitem-quantity = '1'.
    ***w_bapimereqitem-unit = 'AU'.
    w_bapimereqitem-item_cat = 'D'.
    w_bapimereqitem-deliv_time = '20140604'.
    w_bapimereqitem-acctasscat = 'K'.
    **w_bapimereqitem-consumpt = 'U'.
    APPEND w_bapimereqitem TO t_bapimereqitem.
    **w_bapi_srv_acc_data-doc_item = '1'.
    **w_bapi_srv_acc_data-outline = '0000000001'.
    *w_bapi_srv_acc_data-srv_line = '20'.
    w_bapi_srv_acc_data-serial_no = '10'.
    w_bapi_srv_acc_data-serial_no_item = 'D'.
    *w_bapi_srv_acc_data-quantity = '1'.
    *APPEND w_bapi_srv_acc_data TO t_bapi_srv_acc_data.
    **w_bapi_srv_acc_datax-doc_item = '1'.
    **w_bapi_srv_acc_datax-outline = '0000000001'.
    *w_bapi_srv_acc_datax-srv_line = '20'.
    **w_bapi_srv_acc_datax-serial_no = '01'.
    **w_bapi_srv_acc_datax-serial_no_item = '01'.
    *w_bapi_srv_acc_datax-quantity = '1'.
    *APPEND w_bapi_srv_acc_datax TO t_bapi_srv_acc_datax.
    w_servicelines-service = '00000001'.
    APPEND w_servicelines TO t_servicelines.
    w_servicelinesx-service = 'X'.
    APPEND w_servicelinesx TO t_servicelinesx.
    CALL FUNCTION 'BAPI_PR_CREATE'
       EXPORTING
         prheader        = wa_prheader
         prheaderx       = wa_prheaderx
       IMPORTING
         number          = pr_number
       TABLES
         return          = t_return
         pritem          = t_bapimereqitemimp
         pritemx         = t_pritemx
         pritemexp       = t_bapimereqitem
         praccount       = t_bapimereqaccount
         praccountx      = t_bapimereqaccountx
         servicelimit    = t_bapi_srv_limit_data
         servicelimitx   = servicelimitx
         servicelines    = t_servicelines
         servicelinesx   = t_servicelinesx
         serviceaccount  = t_bapi_srv_acc_data
         serviceaccountx = t_bapi_srv_acc_datax.

    Hi,
    Check this Thread , Thread1 . It might help you to resolve the issue.
    Thanks
    KH

  • Is it possible multiple line items debit & single line item credit and different cost centers and different profit centers in fbcj

    Hi all ,
    I have a requirement to Post Cash Journal Document using FBCJ tcode.
    Is it possible multiple line items debit & single line item credit and different cost centers and different profit centers
    for exp:
    pk   GL a/c   description       amount   cost center  profit center
    40  400101  telephone exp   500        1403            P 1000
    40  400101  telephone exp    100       1404            P 2000
    50  200100  cash in hand      600-                             
       This is My requirement  is it possible in fbcj
        Please suggest me.ASAP.
    Regards
       Naresh.

    Hi,
      This you can do it in two ways:
    1. Make three header under top level....one Product A, 2nd Product B ( as Billing element) and third as Common expense ( only cost). Now 1st & 2 nd WBS, you have to have sales order linking with individual lint item, for third you will accumulate all the common expense till the period end then make a reposting of the same in desired proportion to both products WBS hierarchy
    (This is if you want to have a track on the common expense as well.......like planning, budgeting & control)
    After this reposting, run RA for individual billing element and hence you will all the complement detailing and control over Revenue and expense with respect to Product A and Product B individually.
    2. If you don't want to maintain that kind of detailing the common expense and keep track of it through project, then have cost centers accordingly and make an assesment/ distribution with respect to expenses accumulated at those cost centers for the period to the respective WBS under each product. Then execute the period end processes for the project.
    Or
    You can try with have two more line items in the costing sheet as an overhead against common expenses with respect each product.
    I hope this should help you.
    Regards
    Avisek Bhardwaj

  • Create multiple line item from one line item in BizTalk mapping

    Hi,
    In one of our new requirement we need to create 3 line items for every line item we are receiving with same value but in the below format.
    Sample Input:
    <EmpId>1234</EmpId><Name>ABCD></Name><Dept>YYY</Dept><Year>2014</Year><Desc1>D1</Desc1><Desc2>D2</Desc2><Desc3>D3</Desc3><Valid>Yes</Valid>
    Sample Output in Flatfile:
    1234,ABCD,,,D1,Yes
    1234,ABCD,YYY,,D2,Yes
    1234,ABCD,YYY,2014,D3,Yes
    Can you Pls help me in creating the mapping in above format.
    Thanks in advance,
    Regards,
    Elango
    Chennai.
    Mark As Answer or Vote As Helpful if My Reply Does.

    Elango,
    Before I explain about the solution, make sure when you give inputs/requirement in forums for us to help you, pay attention.
    The input instance you have shown
    Doesn’t have a root element
    Has a typo - <Name>ABCD></Name> -Element has invalid “>” character.
    This makes us to spend more time in cleansing your input and then find out solution.
    We are here to help you, so help us to help you better.
    Anyway, coming to the solution
    You have to create map with a structure similar to the below shown image:
    Here destination schema is a flat file schema with comma-delimited fields.
    If you look into the destination schema, it look similar to your input schema, but there is just one “Desc” field instead of “Desc1”, “Desc2”, “Desc3” in your source schema. In destination, the
    record has to repeat with same values for rest of the fields. And for “Desc” in destination schema will have corresponding index value of “Desc1” or “Desc2” or “Desc3” from source. i.e. first node of destination will have value of “Desc1” from source to “Desc”
    field in destination, second node of destination will have value of “Desc2” from source to “Desc” field in destination and third node of destination will have value of “Desc3” from source to “Desc” field in destination.
    I use XSLT in the map, with recursive template which will repeat for 3 times. I have given comment in the XSLT for your benefit.
    <?xml version="1.0" encoding="UTF-16"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:var="http://schemas.microsoft.com/BizTalk/2003/var" exclude-result-prefixes="msxsl var" version="1.0">
    <xsl:output omit-xml-declaration="yes" method="xml" version="1.0" />
    <xsl:template match="/">
    <xsl:apply-templates select="/Root" />
    </xsl:template>
    <xsl:template match="/Root">
    <Record>
    <!--Call the template with index and counter of 3. There times as you wanted for every item-->
    <xsl:call-template name="LintItemTemp">
    <xsl:with-param name="i">1</xsl:with-param>
    <xsl:with-param name="count">3</xsl:with-param>
    </xsl:call-template>
    </Record>
    </xsl:template>
    <xsl:template name="LintItemTemp">
    <xsl:param name="i" />
    <xsl:param name="count" />
    <Details>
    <EmpId>
    <xsl:value-of select="EmpId/text()" />
    </EmpId>
    <Name>
    <xsl:value-of select="Name/text()" />
    </Name>
    <Dept>
    <xsl:value-of select="Dept/text()" />
    </Dept>
    <Year>
    <xsl:value-of select="Year/text()" />
    </Year>
    <!--as in your output instance, Lineitem1 will have value of Desc1-->
    <xsl:if test ="($i =1)">
    <Desc>
    <xsl:value-of select="Desc1/text()" />
    </Desc>
    </xsl:if>
    <!--as in your output instance, Lineitem2 will have value of Desc3-->
    <xsl:if test ="($i =2)">
    <Desc>
    <xsl:value-of select="Desc2/text()" />
    </Desc>
    </xsl:if>
    <!--as in your output instance, Lineitem3 will have value of Desc3-->
    <xsl:if test ="($i =3)">
    <Desc>
    <xsl:value-of select="Desc3/text()" />
    </Desc>
    </xsl:if>
    <Valid>
    <xsl:value-of select="Valid/text()" />
    </Valid>
    <xsl:value-of select="./text()" />
    </Details>
    <!--Recursive template, i.e. calling the template again for 3 times as your requirement-->
    <xsl:if test="$i &lt; $count">
    <xsl:call-template name="LintItemTemp">
    <xsl:with-param name="i">
    <xsl:value-of select="$i + 1"/>
    </xsl:with-param>
    <xsl:with-param name="count">
    <xsl:value-of select="$count"/>
    </xsl:with-param>
    </xsl:call-template>
    </xsl:if>
    </xsl:template>
    </xsl:stylesheet>
    So the input and output will look like the below:
    You can change the schema/XSLT and its corresponding namespaces as you want.
    When the above shown output is send to a custom-pipeline with flat file assembler in send port will output the above shown output to the flat-file structure as you wanted. Again, I repeat you
    to use flat-file file schema with comma-delimited fields as the destination schema in the above shown map for you to get the flat-file output as you needed.
    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

  • Reconfigure sales BOM deletes line item and creates new line item

    We are having issue with Sales BOM. Once sales BOM is reconfigure, line item is automatically deleted and creates new line item. These changes are not captured by reporting tool. Is it standard SAP behavior? if its not standard behavior, how to fix this issue?

    Hi,
    If i am not wrong, i assume you are using site instead of plant.   If it is plant , then "yes", we can have a order with same material being line item 10 and 20 with different plants.  Reg delivery, if the plants are configured to a same shipping point then you will have one delievery.  if the plants are configured for a different shipping point , then delivery will be split up.
    Reward if it helps,
    Thanks & regards,
    CLN

  • Create payment batches for credit memos

    Hi,
    I want to create payment batch to pay several credit memos.
    When I issue "Select invoices" and "Build payments" processes, it does not select any of credit memos.
    I try to add manually the credit memos on "Modify payment batch" window, but after selecting the first credit memo it displays the message:
    "You cannot create a negative mount payment.".
    Please help me how to create payment batches for credit memos.
    Thank you.

    Hi Manish,
    I am using 11i version.
    Actually I followed the advices on this note, but still the same problem, the payment batch does not allow credit memos (as they are with negative amount), even when adding them manually.
    Please help me to find where is the problem.
    Thank you.

  • Fields for creating a line item

    Hi
    can anyone tell what are the fields that must be populated in VBAP table to create a line item in a sales order.

    Hi Jayanth,
    it depends on the specific field group customizing which fields are required, which are optional, which are not open for input and which get default values.
    You may ask a functional or try in the transaction.
    Regards,
    Clemens

  • How to create new line item in credit memo request in rebate settlement

    HI friends,
                 I need aimmediate help on following.
    Requirenment is for given agreement all invoices for that needs to be retrieved. In those invoices we need to check the tax code or tax city for all invoices. If all are same then do nothing.
               But if any of these 2 fields are different in all retrieved invoices, then we need to sum up the qty for all invoices having same tax code/city & like wise ned to create a credit memo request which will have one line item for each tax code/city.
    Example:
    Agreement 9999 with the relevant sales volume:
    Invoice 1: Material A, tax key X, quantity 1 kg
    Invoice 2: Material B, tax key X, quantity 2 kg
    Invioce 3: Material C, tax key Z, quantity 4 kg
    The credit memo request for agreement 9999 should look as such:
    Thanks & regards,
    Abhijeet.
    Item line 1: SETTLEMENT MATERIAL, tax key X, 3 kg
    Item line 2: SETTLEMENT MATERIAL, tax key Z, 4 kg
    Please help me . I am not getting the user exit / badi for this development.
    Please let me know if any one of you know from where to do this?

    Hi Vinod,
    The relationship with main item is stored with CRMD_ORDERADM_I- Parent.
    You need to pass the guid of main item to orderadm_i-parent. This will keep the relationship with main item.
    Thanks
    Ajay

  • Sales order create/change line item with reference to contract - Open quantity not getting deducted for copied line item from the contract

    Hi friends,
    Please provide some valuable inputs for the following scenario:
    When a sales order line item is created(VA01) or changed(VA02) with reference to a Contract the open quantity is deducted in the contract which is a standard functionality. If the referenced line item is copied (custom enhancement to copy line item), then for the copied line item the open quantity is not getting deducted instead ATP quantity i.e. Available-to-promise is deducted.
    Any inputs on how we can fix this functionality i.e. deduct the open quantity from the contract for the copied line item?
    P.S. : Custom enhancement to copy line item is working fine, but open quantity is not getting deducted if the copied line item was referenced to a contract.
    Thanks,
    Sandeep
    Message was edited by: sandeep

    Sandeep,
    Yes, that was my original interpretation.  I was having a hard time believing that someone would ask such a question. 
    I guess, then, that you already know that you will have to add this logic to your enhancement. You should create your specifications and hand them off to a developer; ideally the one who created this enhanced solution in the first place.
    I do not provide advice in these forums about details of enhanced solutions.  Perhaps one of the other members will be more willing to do your work for you.
    Best Regards,
    DB49

  • Error while editing PO - deleting service line item and creating material line item.

    In SAP SRM Extended classic scenario, PO is in 'ordered' status and contains a service line item. While editing this PO, I delete the service line item and create a new material line item. This gives me the following error.
    Back end error: Enter G/L account
    Back end error: LIne item still contains faulty items.
    This happens only with service- material comibination and no other combination(material-service, service-service, material-material).
    I need to know the reason for this issue and how it can be solved?

    PO Values (Inc Tax):
    Item 1: INR 228 L
    Item 2: INR 27.83 L   (Payment also done in 2008)
    GR for Item 1: INR 207.46 L
    Remaining Comm = INR 21.01 L
    Item 1 having 73 sub line items.... fo some of the sub-line items GR for some qty already done in last fiscals.
    User changing for remaining qty.
    Budget Report values:
    Previous Years:  Budget, Actual & Assigned = 304.85 L
                                Available = 0      (Carry Forward done for Budget & Commitments)
    2011:                   Budget = 75.15 L
                                Actual = 53.86 L
                                Comm = 21.01 L   (Same as Remaining Commitment)
                                Avai = 0.28 L
    Hope this will help.

  • With  'BAPI_REQUISITION_CREATE' not able to create service line item

    Hi Experts
    Please help me with this.
    Am working with 'BAPI_REQUISITION_CREATE'. Able to create PR ( with constant data) but the service line item is not seen with ME53N. No error message displayed. Have checked the SAP note 420331.
    The code is as below:
    move '9' to  it_BAPIEBANC-ITEM_CAT. 
    move 'sdfgsdfgdfsg'  to     it_BAPIEBANC-SHORT_TEXT. 
    move 'F' to it_BAPIEBANC-ACCTASSCAT.
    move 1 to       it_BAPIEBANC-QUANTITY.
    move 'M2' to      it_BAPIEBANC-UNIT.
    move '1'  to  it_BAPIEBANC-DEL_DATCAT. "it_file-del_date_cat
      move sy-datum to      it_BAPIEBANC-DELIV_DATE.
      move '100CC' to        it_BAPIEBANC-MAT_GRP.
      move '1CEN'  to it_BAPIEBANC-PLANT.
      move 'CIVIL' to it_BAPIEBANC-PREQ_NAME.
        move '1001' to it_BAPIEBANC-PURCH_ORG.
      move 'P11' to it_BAPIEBANC-PUR_GROUP.
      MOVE 'NB' TO it_BAPIEBANC-DOC_TYPE.
    MOVE 'X' TO it_BAPIEBANC-GR_IND.
    MOVE 'X' TO it_BAPIEBANC-IR_IND.
    CALL FUNCTION 'NUMBER_GET_NEXT'
           EXPORTING
                NR_RANGE_NR = '01'
                OBJECT = 'SERVICE'
           IMPORTING
                NUMBER = v_packno
                RETURNCODE = RCODE.
      it_BAPIEBANC-PCKG_NO = v_packno.
      MOVE '00010' to it_BAPIEBANC-PREQ_ITEM.
      APPEND it_BAPIEBANC.
      CLEAR it_BAPIEBANC.
      move '000001000341'  to  it_BAPIEBKN-ORDER_NO.
      move 'AMINFRA'  to     it_BAPIEBKN-COST_CTR.
      move '0040401100' to    it_BAPIEBKN-G_L_ACCT.
      MOVE '00010' to it_BAPIEBKN-PREQ_ITEM.
      MOVE '01' to it_BAPIEBKN-SERIAL_NO.
      APPEND it_BAPIEBKN.
      CLEAR it_BAPIEBKN.
    move v_packno to IT_BAPIESLLC-PCKG_NO.
    IT_BAPIESLLC-subpckg_no = v_packno + 1 .
    move '0000000001' to IT_BAPIESLLC-LINE_NO.
    move '0000000000' to IT_BAPIESLLC-EXT_LINE.
    MOVE 'sdfgsdfgf'  TO  IT_BAPIESLLC-SHORT_TEXT.
    IT_BAPIESLLC-OUTL_IND = 'X'.
    IT_BAPIESLLC-FROM_LINE = '1'.
      APPEND IT_BAPIESLLC.
      CLEAR IT_BAPIESLLC.
    **service with master
      IT_BAPIESLLC-PCKG_NO = V_PACKNO + 1.
      IT_BAPIESLLC-subpckg_no = 0 .
      move '0000000002' to IT_BAPIESLLC-LINE_NO.
      move '0000000010' to IT_BAPIESLLC-EXT_LINE.
      move '000000000003000193' TO  IT_BAPIESLLC-SERVICE.
      MOVE 'sdfgsdfgf'  TO  IT_BAPIESLLC-SHORT_TEXT. "it_file-DESC(40)
      MOVE 1      TO  IT_BAPIESLLC-QUANTITY. "it_file-QTY
      MOVE 'M2'      TO  IT_BAPIESLLC-BASE_UOM. "it_file-UNIT
      IT_BAPIESLLC-UOM_ISO = 'MTK'.
      MOVE 1      TO  IT_BAPIESLLC-price_unit .
      IT_BAPIESLLC-GR_PRICE = 100.
      APPEND IT_BAPIESLLC.
      CLEAR IT_BAPIESLLC.
    service without master
      IT_BAPIESLLC-PCKG_NO = V_PACKNO + 1.
      IT_BAPIESLLC-subpckg_no = 0 .
      move '0000000003' to IT_BAPIESLLC-LINE_NO.
      move '0000000020' to IT_BAPIESLLC-EXT_LINE.
    move '000000000003000193' TO  IT_BAPIESLLC-SERVICE.
      MOVE 'sdfgsdfgf'  TO  IT_BAPIESLLC-SHORT_TEXT. "it_file-DESC(40)
      MOVE 1      TO  IT_BAPIESLLC-QUANTITY. "it_file-QTY
      MOVE 'M2'      TO  IT_BAPIESLLC-BASE_UOM. "it_file-UNIT
      IT_BAPIESLLC-UOM_ISO = 'MTK'.
      MOVE 1      TO  IT_BAPIESLLC-price_unit .
        IT_BAPIESLLC-GR_PRICE = 100.
      APPEND IT_BAPIESLLC.
      CLEAR IT_BAPIESLLC.
    it_BAPIESKLC-PCKG_NO = v_packno + 1.
    it_BAPIESKLC-LINE_NO = '0000000002'.
    it_BAPIESKLC-SERNO_LINE = '01'.
    it_BAPIESKLC-SERIAL_NO = '01'.
    it_BAPIESKLC-PERCENTAGE = '100'.
    it_BAPIESKLC-QUANTITY = 2.
      APPEND IT_BAPIESKLC.
      CLEAR IT_BAPIESKLC.
    it_BAPIESKLC-PCKG_NO = v_packno + 1.
    it_BAPIESKLC-LINE_NO = '0000000003'.
    it_BAPIESKLC-SERNO_LINE = '01'.
    it_BAPIESKLC-SERIAL_NO = '01'.
    it_BAPIESKLC-PERCENTAGE = '100'.
    it_BAPIESKLC-QUANTITY = 2.
      APPEND IT_BAPIESKLC.
      CLEAR IT_BAPIESKLC.
      CALL FUNCTION 'BAPI_REQUISITION_CREATE'   IMPORTING
         NUMBER                               = REQ_NO
        TABLES
          REQUISITION_ITEMS                   = it_BAPIEBANC
          REQUISITION_ACCOUNT_ASSIGNMENT      = it_BAPIEBKN
         REQUISITION_SERVICES                 = IT_BAPIESLLC
         REQUISITION_SRV_ACCASS_VALUES        = it_BAPIESKLC
        RETURN                               = IT_BAPIRETURN.
      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
    Thnx and Regards
    Ebrahim

    First read [Note 499626 - FAQ: BAPIs in the service procurement|https://service.sap.com/sap/support/notes/499626] and especially  [Note 420331 - BAPI_REQUISITION_CREATE: Template for services|https://service.sap.com/sap/support/notes/420331]
    Regards,
    Raymond

  • Create new line item while saving a new order

    I have a requirement to create a new line item with different item category while creating an order.
    i.e
    if the item category is ICT1, then create a new line item like item 1 but with item category ICT2.
    Also in the conditions tab, we need to update the condition type with  different values for both existing and new item.
    All this has to be in VA01 i.e on save.
    I tried to append lines of structure XVBAP at SAVE_DOCUMENT _PREPARE by changing the item no and item caegory. This works fine. But, how can I get other table details like XKOMV(which stores pricing condition details) for the new item?
    Please can you suggest any other exit/subroutine for this?
    or any other alternative solutions

    Hi,
    Try to use this EXIT:
    'EXIT_SAPMM06E_013'     Update Customer's Own Data in Purchasing Document
    The Badi and exit contains same parameter.
    Thanks,
    AMS

  • How to Create multiple line items

    Hi
    I have created a web dynpro application that accesses BAPI_REQUISITION_CREATE to create a requisition. The application so far creates a requisition with only one line item.
    How do I capture details about multiple line items from the user before submitting the form to create the requisition.
    Thanks in advance for your help.
    Sriram

    Hi Sriram,
        Create a form where u enter the requisition details of one line item.Suppose say if u have a button Add another Line Item on click of that fill  a value node say
    RequsitionDetails  of cardinality 0-n and clear the form.If u want u can also show the added item in  a table  below by bindin the data source to RequistionDetails. Now the user can enter another line item in the form.Similarly now he can enter multiple line items.On click of Submit u submit the records in the RequistionDetails node.Add all these records to the table parameter which u r passing.
    BAPI_REQUISITION_CREATE_Input input = new BAPI_REQUISITION_CREATE_Input();
    wdContext.node<<>>.bind(input);
    for(int index=0;index<wdContex.nodeRequsitionDetails().size();index++)
    zTestStruc test = new zTestStruc();
    test.setattr1(wdContex.nodeRequsitionDetails().getRequsitionElementAt(index).getattr1());
    input.add<<>>(test);
    Hope this solves.
    Regards,
    Sowjanya.

  • Create IDOC when the credit memo is generated

    I want to create an IDOC.
    The IDOC will be created when the credit memo is generated.
    Please help me to create the segments.
    Title was edited by:
            Alvaro Tejada Galindo

    Hi
    First you find the relative Idoc Type and Message type for that credit memo in the tables EDBAS and EDMSG
    Then go to WE31 and create the additional segments as per your requirements apart from doing lot of other related settings
    see the doc
    Data Creation in Idoc
    IDocs are text encoded documents with a rigid structure that are used to exchange data between R/3 and a foreign system. Instead of calling a program in the destination system directly, the data is first packed into an IDoc and then sent to the receiving system, where it is analyzed and properly processed. Therefore an IDoc data exchange is always an
    asynchronous process. The significant difference between simple RFC-calls and IDoc data exchange is the fact, that every action performed on IDocs are protocolled by R/3 and IDocs can be reprocessed if an error occurred in one of the message steps.
    While IDocs have to be understood as a data exchange protocol, EDI and ALE are typical use cases for IDocs. R/3 uses IDocs for both EDI and ALE to deliver data to the receiving system. ALE is basically the scheduling mechanism that defines when and between which partners and what kind of data will be exchanged on a regular or event triggered basis. Such a set-up is called an ALE-scenario.
    IDoc is a intermediate document to exchange data between two SAP Systems.
    *IDocs are structured ASCII files (or a virtual equivalent).
    *Electronic Interchange Document
    *They are the file format used by SAP R/3 to exchange data with foreign systems.
    *Data Is transmitted in ASCII format, i.e. human readable form
    *IDocs exchange messages
    *IDocs are used like classical interface files
    IDOC types are templates for specific message types depending on what is the business document, you want to exchange.
    WE30 - you can create a IDOC type.
    An IDOC with data, will have to be triggered by the application that is trying to send out the data.
    FOr testing you can use WE19.
    How to create idoc?
    *WE30 - you can create a IDOC type
    For more information in details on the same along with the examples can be viewed on:
    http://www.netweaverguru.com/EDI/HTML/IDocBook.htm#_Toc8400404
    http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a6620507d11d18ee90000e8366fc2/frameset.htm
    http://www.sappoint.com/presentation.html
    http://www.allsaplinks.com/idoc_search.html
    http://www.sapgenie.com/sapedi/idoc_abap.htm
    http://www.erpgenie.com/sapedi/idoc_abap.htm
    To Create Idoc we need to follow these steps:
    Create Segment ( WE31)
    Create Idoc Type ( WE30 )
    Create Message Type ( WE81 )
    Assign Idoc Type to Message Type ( WE82 )
    Creating a Segment
    Go to transaction code WE31
    Enter the name for your segment type and click on the Create icon
    Type the short text
    Enter the variable names and data elements
    Save it and go back
    Go to Edit -> Set Release
    Follow steps to create more number of segments
    Create IDOC Type
    Go to transaction code WE30
    Enter the Object Name, select Basic type and click Create icon
    Select the create new option and enter a description for your basic IDOC type and press enter
    Select the IDOC Name and click Create icon
    The system prompts us to enter a segment type and its attributes
    Choose the appropriate values and press Enter
    The system transfers the name of the segment type to the IDOC editor.
    Follow these steps to add more number of segments to Parent or as Parent-child relation
    Save it and go back
    Go to Edit -> Set release
    Create Message Type
    Go to transaction code WE81
    Change the details from Display mode to Change mode
    After selection, the system will give this message “The table is cross-client (see Help for further info)”. Press Enter
    Click New Entries to create new Message Type
    Fill details
    Save it and go back
    Assign Message Type to IDoc Type
    Go to transaction code WE82
    Change the details from Display mode to Change mode
    After selection, the system will give this message “The table is cross-client (see Help for further info)”. Press Enter.
    Click New Entries to create new Message Type.
    Fill details
    Save it and go back
    Check these out..
    Re: How to create IDOC
    Check below link. It will give the step by step procedure for IDOC creation.
    http://www.supinfo-projects.com/cn/2005/idocs_en/2/
    ALE/ IDOC
    http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
    http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
    http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
    http://www.sapgenie.com/sapedi/index.htm
    http://www.sappoint.com/abap/ale.pdf
    http://www.sappoint.com/abap/ale2.pdf
    http://www.sapgenie.com/sapedi/idoc_abap.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
    http://www.allsaplinks.com/idoc_sample.html
    http://www.sappoint.com/abap.html
    http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
    http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
    http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
    http://www.sapgenie.com/sapedi/index.htm
    http://www.allsaplinks.com/idoc_sample.html
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.docs
    go trough these links.
    http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
    http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
    http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
    http://www.sapgenie.com/sapedi/index.htm
    http://www.sappoint.com/abap/ale.pdf
    http://www.sappoint.com/abap/ale2.pdf
    http://www.sapgenie.com/sapedi/idoc_abap.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
    http://www.allsaplinks.com/idoc_sample.html
    http://www.sappoint.com/abap.html
    http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
    http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
    http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
    http://www.sapgenie.com/sapedi/index.htm
    http://www.allsaplinks.com/idoc_sample.html
    http://http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
    An IDoc is simply a data container that is used to exchange information between any two processes that can understand the syntax and semantics of the data...
    1.IDOCs are stored in the database. In the SAP system, IDOCs are stored in database tables.
    2.IDOCs are independent of the sending and receiving systems.
    3.IDOCs are independent of the direction of data exchange.
    The two available process for IDOCs are
    Outbound Process
    Inbound Process
    AND There are basically two types of IDOCs.
    Basic IDOCs
    Basic IDOC type defines the structure and format of the business document that is to be exchanged between two systems.
    Extended IDOCs
    Extending the functionality by adding more segments to existing Basic IDOCs.
    To Create Idoc we need to follow these steps:
    Create Segment ( WE31)
    Create Idoc Type ( WE30)
    Create Message Type ( WE81)
    Assign Idoc Type to Message Type ( WE82)
    imp links
    http://www.allsaplinks.com/idoc_sample.html
    http://www.sapgenie.com/sapedi/idoc_abap.htm
    www.sappoint.com
    --here u can find the ppts and basic seetings for ALE
    http://sappoint.com/presentation.html
    www.sapgenie.com
    http://www.sapgenie.com/ale/index.htm
    WE30 - you can create a IDOC type.
    An IDOC with data, will have to be triggered by the application that is trying to send out the data.
    Try this..Hope this will help.
    >>>> SAP ALE & IDOC<<<<
    Steps to configuration(Basis) >>
    1. Create Logical System (LS) for each applicable ALE-enabled client
    2. Link client to Logical System on the respective servers
    3. Create background user, to be used by ALE(with authorizaton for ALE postings)
    4. Create RFC Destinations(SM59)
    5. Ports in Idoc processing(WE21)
    6. Generate partner profiles for sending system
    The functional configuration(Tcode: SALE)
    • Create a Customer Distribution Model (CDM);
    • Add appropriate message types and filters to the CDM;
    • Generate outbound partner profiles;
    • Distribute the CDM to the receiving systems; and
    • Generate inbound partner profiles on each of the clients.
    Steps to customize a new IDoc >>>
    1. Define IDoc Segment (WE31)
    2. Convert Segments into an IDoc type (WE30)
    3. Create a Message Type (WE81)
    4. Create valid Combination of Message & IDoc type(WE82)
    5. Define Processing Code(WE41 for OUT / WE42 for IN)
    6. Define Partner Profile(WE20)
    Important Transaction Codes:
    SALE - IMG ALE Configuration root
    WE20 - Manually maintain partner profiles
    BD64 - Maintain customer distribution model
    BD71 - Distribute customer distribution model
    SM59 - Create RFC Destinations
    BDM5 - Consistency check (Transaction scenarios)
    BD82 - Generate Partner Profiles
    BD61 - Activate Change Pointers - Globally
    BD50 - Activate Change Pointer for Msg Type
    BD52 - Activate change pointer per change.doc object
    BD59 - Allocation object type -> IDOC type
    BD56 - Maintain IDOC Segment Filters
    BD53 - Reduction of Message Types
    BD21 - Select Change Pointer
    BD87 - Status Monitor for ALE Messages
    BDM5 - Consistency check (Transaction scenarios)
    BD62 - Define rules
    BD79 - Maintain rules
    BD55 - Defining settings for IDoc conversion
    WEDI - ALE IDoc Administration
    WE21 - Ports in Idoc processing
    WE60 - IDoc documentation
    SARA - IDoc archiving (Object type IDOC)
    WE47 - IDoc status maintenance
    WE07 - IDoc statistics
    BALE - ALE Distribution Administration
    WE05 - IDoc overview
    BD87 - Inbound IDoc reprocessing
    BD88 - Outbound IDoc reprocessing
    BDM2 - IDoc Trace
    BDM7 - IDoc Audit Analysis
    BD21 - Create IDocs from change pointers
    SM58 - Schedule RFC Failures
    Basic config for Distributed data:
    BD64: Maintain a Distributed Model
    BD82: Generate Partner Profile
    BD64: Distribute the distribution Model
    Programs
    RBDMIDOC – Creating IDoc Type from Change Pointers
    RSEOUT00 – Process all selected IDocs (EDI)
    RBDAPP01 - Inbound Processing of IDocs Ready for Transfer
    RSARFCEX - Execute Calls Not Yet Executed
    RBDMOIND - Status Conversion with Successful tRFC Execution
    RBDMANIN - Start error handling for non-posted IDocs
    RBDSTATE - Send Audit Confirmations
    FOr testing you can use WE19.
    Regards
    Anji

  • Substitution to create new line item

    Hi,
    I am looking for a way of creating an additional line item when posting an FI document (incoming payment) based on one of the documents actual line items.
    (well, actually the customer is looking for this...) ;o)
    Something like:
    IF line item account number EQ 1234 THEN
       Check how many invoices are paid by this transaction
       Check something in SD via the invoice number for all line items
       Based on findings, create a new line item.
    END IF.
    Can I do this via a substitution and user exit?
    Did anyone ever do something like this?
    Thanks in advance!
    Dirk

    Hi,
    Good evening and greetings,
    I dont think it is possible through substitution...Please go through the following
    FBICRC002POPULATE_LINEITEMS
    Please reward points if found useful
    Thanking you
    With kindest regards
    Ramesh Padmanabhan

Maybe you are looking for