Pricing routine error in code

hello all..
can u check this code?
this is a routine for calculating condition value.
the error is at itab-matnr = xvbap-matnr " material no.
i m trying to catch material no while creating sales order,
depending on that i get the gold weight, which i use to calculate price through the function module.
thanks in advance.
Routine to Calculate Kitco Price.
data: kitrate type KONP-KBETR,
      goldcts type MARA-LABOR,
      finalwt type MARA-NTGEW,
      final_value type konp-kbetr.
data: begin of itab occurs 0,
        kbetr like xkomv-kbetr,
        kunnr like xkomv-kunnr,
        matnr like mara-matnr,
        labor like mara-labor,
        ntgew like mara-ntgew,
      end of itab.
itab-kbetr = xkomv-kbetr.
itab-matnr = xvbap-matnr.   " material no.
append itab.
loop at itab.
  select single labor ntgew from mara into itab-labor itab-ntgew where matnr = itab-matnr.
  modify itab.
endloop.
loop at itab.
  kitrate = itab-kbert.
  goldcts = itab-labor.
  finalwt = itab-ntgew.
endloop.
CALL FUNCTION 'ZKITCO_FORMULA'
  EXPORTING
    KITRATE               = kitrate
    GOLDCTS               = goldcts
    FINALWT               = finalwt
IMPORTING
   CONDITION_VALUE       = final_value
EXCEPTIONS
   EXCEPTION1            = 1
   OTHERS                = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
asssign final_value to the required field. for output.
xkwert = final_value.
endform.

Hi,
Check data type of xvbap-matnr and itan-matnr.
It should work.
Could you pls. mention the structure of xvbap.
Thanks & Regards,
Venkat Ramanan

Similar Messages

  • Getting Error In the Routine - While writing Code for the Cross Reference.

    Hi,
    Getting Error In the Start Routine - While writing Code for the Cross Reference from the Text table ( /BIC/TZMDES with Fields /BIC/ZMDES(Key),TXTSH ) Getting Error as [ E:Field "ZMDES" unknown ].
    Transformation : IOBJ ZPRJ3(Source) -> IOBJ ZPRJC ( Target ).
    The Source  Fields are: 0logsys(Key),zprj3(Key),ZDOM3.
    The Target Fields are : 0logsys(Key),zprjc(Key),ZDOM3, UID.
    Here i am trying to Update the target Field UID by Comparing the Source Field [ zprj3(Key)] with the Text table ( /BIC/TZMDES ) and update the UID.
    The Code is as below:
    Global Declarations in the Start Routine:
    Types: begin of itabtype,
            ZMDES type /BIC/TZMDES-/BIC/ZMDES,
            TXT type /BIC/TZMDES-TXTSH,
             end of itabtype.
    data : itab type standard table of itabtype
    with key ZMDES,
    wa_itab like line of itab.
    Routine Code :
    select * from /BIC/TZMDES into corresponding fields of table itab for
    all entries in SOURCE_PACKAGE
    where ZMDES = SOURCE_PACKAGE-/BIC/ZPRJ3.
    READ TABLE itab INTO wa_itab
    WITH KEY ZMDES = SOURCE_PACKAGE-/BIC/ZPRJ3
    BINARY SEARCH.
    IF SY-SUBRC = 0.
    RESULT = wa_itab.
    CLEAR wa_itab.
    The tys_SC_1 structure is :
    BEGIN OF tys_SC_1,
         InfoObject: 0LOGSYS.
            LOGSYS           TYPE RSDLOGSYS,
         InfoObject: ZPRJ3.
            /BIC/ZPRJ3           TYPE /BIC/OIZPRJ3,
         InfoObject: ZDOM3.
            /BIC/ZDOM3           TYPE /BIC/OIZDOM3,
         Field: RECORD.
            RECORD           TYPE RSARECORD,
          END   OF tys_SC_1.
        TYPES:
          tyt_SC_1        TYPE STANDARD TABLE OF tys_SC_1
                            WITH NON-UNIQUE DEFAULT KEY.
    Please suggest with your valuable inputs.
    Thanks in Advance

    I have split the code in two.. one for start routine.. other for field routine.. hope this helps
    Types: begin of itabtype,
    ZMDES type /BIC/TZMDES-/BIC/ZMDES,
    TXT type /BIC/TZMDES-TXTSH,
    end of itabtype.
    data : itab type standard table of itabtype
    with key ZMDES,
    wa_itab like line of itab.
    Start routine
    select * from /BIC/TZMDES into corresponding fields of table itab for
    all entries in SOURCE_PACKAGE
    where ZMDES = SOURCE_PACKAGE-/BIC/ZPRJ3.
    Sort itab.
    field routine
    CLEAR wa_itab.
    READ TABLE itab INTO wa_itab
    WITH KEY ZMDES = SOURCE_FIELD-/BIC/ZPRJ3
    BINARY SEARCH.
    IF SY-SUBRC = 0.
    RESULT = wa_itab-<field name>

  • COM routine error code descriptions in SAP APO - transaction /SAPAPO/OM10

    I had recently encountered a  COM error in SCM APO and wasted a lot of time trying to figure out what the error code actually meant.
    If you ever have this issue, you can use transaction /SAPAPO/OM10 to resolve any COM routine error message.
    You can also check the message class /SAPAPO/OM_TS and possibly some other /SAPAPO/OM* message classes as well. This is where the error message descriptions are coming from.
    Hope this helps.

    Hello Gabor,
    -> As you know, you could use the transaction /n/sapapo/om10 to Display Meaning of COM Return Code.
    -> In case you got a COM error in SCM APO => to avoid a spending a lot of time trying to figure out what the error code actually meant, please, open the OSS message to the component BC-DB-LCA to get the liveCache application support from SAP on this issue.
    Thank you and best regards, Natalia Khlopina

  • IPC  java user exit- pricing routines

    Hi experts,
    I am new to IPC  java pricing routines and i have a requirement like this,
    1. The user enters manually in Quote the new price. (say cond type ZNEW)
    2. The cond record for ZTKE is available with the price as well as Max price and Min Price.
    3. The Routine formula should validate with ZTKEcondition record with maximum and minimum price available.
    4. If the new price is within the max/min range then pass it. System will do nothing and accept the manual price entered.
    5. If the price is not within the range then issue error message u2018Price not within the rangeu2019. The system does not accept the manual entry of the new price.
    Please let me know how to approach for the solution of the above.
    I know how to raise the error messages ,my main concern is to check the new price of condition type with the other condition type min n max values.
    Please provide me some pointers on it.
    Thanks.

    Hi Faiq,
    I am facing the same problem as you.
    I tried to solve it via the following code sample:
    throw new PricingRuntimeException([MessageClass], [MessageNumber], [Attributes], [RootCauseException]);
    throw new PricingRuntimeException("ZTEST", 0, new String[] {"test2"}, null);
    But no error appeared.
    Another possibility can be the following method!?
    But I do not know how to use it:
    pricingItem.getUserExitDocument().setStatusMessage(new StatusEvent());
    Perhaps meanwhile you have found another solution.
    If yes it will be nice if you post it.
    Greets Ruben

  • BAPI_PO_CREATE1 - Overriding standard pricing routine with fixed price

    Hi,
    I have to post a purchase order with BAPI_PO_CREATE1. It's important that the price in BAPIMEPOITEM-NET_PRICE is relevant for posting this purchase order and nothing else. I don't want to search for the price in any pricing routines of SAP, I want to take the price that I input explicitly.
    How can I tell BAPI_PO_CREATE1 that I want to use the fixed price in BAPIMEPOITEM-NET_PRICE?
    Thank you very much!
    Ralf

    Hi,
        if u have code for bapi_po_create1     ( purchase order creation bapi ) can u send me when i write the prog. it gave the error
           No instance of object type PurchaseOrder has been created. External reference:
    Thanks,
    mukesh

  • IPC Java userexit-pricing routines

    Hi experts,
    I am new to IPC  java pricing routines and i have a requirement like this,
    1. The user enters manually in Quote the new price. (say cond type ZNEW)
    2. The cond record for ZTKE is available with the price as well as Max price and Min Price.
    3. The Routine formula should validate with ZTKEcondition record with maximum and minimum price available.
    4. If the new price is within the max/min range then pass it. System will do nothing and accept the manual price entered.
    5. If the price is not within the range then issue error message u2018Price not within the rangeu2019. The system does not accept the manual entry of the new price.
    Please let me know how to approach for the solution of the above.
    I know how to raise the error messages ,my main concern is to check the new price of condition type with the other condition type min n max values.
    Please provide me some pointers on it.
    Thanks.

    Hi Micheal,
    Thanks for the reply. I am not doing anything with ZTKE. I need to check with ZNEW.when user enters the new price in ZNEW condition type ,that price should be checked with the price in ZTKE with its min n max values. I.e if the entered new price is in the range between max n min values ,system will take that entered new value ,if its not it will through a error.
    So, for this i need to get the condition record value of min n max and compare with the entered new price in ZNEW and check for the above. I hope you got my point.
    Please let me knoe which way i can proced to do so....
    Thanks.

  • IPC Pricing routine for Product Family Margin in Quotation is not working

    Hi,
    I am working on the IPC Pricing Routine to calculate Item's Product Family Margin in the Quotation. 
    Process followed:
    Step 1:  Created a Group condition ZPFM for Product Family Margin and assigned to the pricing procedure. 
    Step 2:  Created a Value Routine to determine ZPFM's Condition Rate and Condition Value.
    Logic: 
              1.  Collect (Sum Of)  the Cost (ZSVC) and the Subtotal 3 of the items which are in same Material Group.
               2.  Assign the ZPFM Condition Value = Sum of Subtotal 3 - Cost.
    Issue:  The condition value for ZPFM is calculating correct for all line items except the last item.  I am getting some junk value always to the last item. If I delete the last time, again next last item is giving wrong value.  The calculation value in the routine debugging log (SM53) is showing correct value.  However, assigning the wrong value.  No other routines have been assigned to this condition type in the pricing procedure. 
    Routine Code:
    package stanley.pricing.userexits.val;
    import java.math.BigDecimal;
    import com.sap.spe.pricing.customizing.PricingCustomizingConstants;
    import com.sap.spe.pricing.transactiondata.PricingTransactiondataConstants;
    import com.sap.spe.pricing.transactiondata.userexit.IPricingConditionUserExit;
    import com.sap.spe.pricing.transactiondata.userexit.IPricingItemUserExit;
    import com.sap.spe.base.logging.UserexitLogger;
    import com.sap.spe.pricing.transactiondata.userexit.ValueFormulaAdapter;
    //import com.sap.spe.pricing.transactiondata.userexit.IPricingCondition;
    public class Z_CondValueRoutine730 extends  ValueFormulaAdapter{
       private static UserexitLogger uelogger =
              new UserexitLogger(Z_CondValueRoutine730.class);
      public BigDecimal overwriteConditionValue(IPricingItemUserExit pricingItem,
             IPricingConditionUserExit pricingCondition) {
      // Variable Declarations.
      BigDecimal conditionValueZCVC=PricingTransactiondataConstants.ZERO;
      BigDecimal conditionValueZCVCAccrual=PricingTransactiondataConstants.ZERO;
      BigDecimal subTotal3=PricingTransactiondataConstants.ZERO;
      BigDecimal subTotal3Accrual=PricingTransactiondataConstants.ZERO;
      if(pricingCondition.getConditionTypeName().equalsIgnoreCase("ZPFM")){
                IPricingItemUserExit[] prItems;
                prItems = pricingItem.getUserExitDocument().getUserExitItems();
                String materialGroup = pricingItem.getAttributeValue("MATL_GRP");
                uelogger.writeLogDebug("  Material Group  :"+materialGroup);
                for (int i=0;i<prItems.length;i++){
                     String materialGroup1 = prItems[i].getAttributeValue("MATL_GRP");
                     if (materialGroup1.equalsIgnoreCase(materialGroup)){
                          subTotal3 = prItems[i].getSubtotal(PricingCustomizingConstants.ConditionSubtotal.SUBTOTAL_3).getValue();
                          subTotal3Accrual = subTotal3Accrual.add(subTotal3);
                          IPricingConditionUserExit[] conditionsForCumulation = prItems[i].getUserExitConditions();
                          for (int j = 0; j < conditionsForCumulation.length; j++) {
                               if(conditionsForCumulation[j].getConditionTypeName()==null) {
                                   continue;
                               else if ( conditionsForCumulation[j].getConditionTypeName().equalsIgnoreCase("ZCVC")){
                                    conditionValueZCVC = conditionsForCumulation[j].getConditionValue().getValue();
                                    conditionValueZCVCAccrual = conditionValueZCVCAccrual.add(conditionValueZCVC);
                BigDecimal conditionValueZPFM=PricingTransactiondataConstants.ZERO;
                conditionValueZPFM = subTotal3Accrual.subtract(conditionValueZCVCAccrual);
               BigDecimal conditionRateZPFM=PricingTransactiondataConstants.ZERO;
               conditionRateZPFM = conditionValueZPFM.multiply(new BigDecimal ("100"));
              conditionRateZPFM = conditionRateZPFM.divide(subTotal3Accrual,7,BigDecimal.ROUND_FLOOR);
             uelogger.writeLogDebug(subTotal3Accrual+"-"+conditionValueZCVCAccrual+" = "+conditionValueZPFM);
             uelogger.writeLogDebug("Condition Rate  :"+conditionRateZPFM);
           pricingCondition.setConditionRateValue(conditionRateZPFM.setScale(2,BigDecimal.ROUND_HALF_UP));
           pricingCondition.setConditionValue(conditionValueZPFM.setScale(2,BigDecimal.ROUND_HALF_UP));
              return null;
           return null;

    Hi,
    I think you should change xkwert variable instead of komv-kwert.
    Standard routines does the same.
    Aslo check in SPRO settings that routine is attached and
    getting triggered by putting break-point.
    Regards,
    Vishal

  • Start routine errors while activating transformations 2LIS_13_VDITM

    Hi Friends,
    I have an error while activating transformation for Cube: 0SD_C03
    Transformation Z2LIS_13_VDITM
    The start routine error is like this->
    Start Routine: Syntax error in routine
    Rule (target: 0SUBTOT_1S, group: 01 Standard Group): Syntax error in routine
    Rule (target: 0SUBTOT_2S, group: 01 Standard Group): Syntax error in routine
    Rule (target: 0SUBTOT_3S, group: 01 Standard Group): Syntax error in routine
    Rule (target: 0SUBTOT_4S, group: 01 Standard Group): Syntax error in routine
    Rule (target: 0SUBTOT_5S, group: 01 Standard Group): Syntax error in routine
    Rule (target: 0SUBTOT_6S, group: 01 Standard Group): Syntax error in routine
    Rule (target: 0QUANT_B, group: 01 Standard Group): Syntax error in routine
    Rule (target: 0DOC_ITEMS, group: 01 Standard Group): Syntax error in routine
    Rule (target: 0NET_VAL_S, group: 01 Standard Group): Syntax error in routine
    Rule (target: 0COST_VAL_S, group: 01 Standard Group): Syntax error in routine
    Rule (target: 0GR_WT_KG, group: 01 Standard Group): Syntax error in routine
    Rule (target: 0NT_WT_KG, group: 01 Standard Group): Syntax error in routine
    Rule (target: 0VOLUME_CDM, group: 01 Standard Group): Syntax error in routine
    Rule (target: 0BP_GRP, group: 01 Standard Group): Syntax error in routine
    Rule (target: 0CP_CATEG, group: 01 Standard Group): Syntax error in routine
    S:RSTRAN:552 38 0CRM_PROD 01 Standard Group 0MATERIAL
    Rule (target: 0DEB_CRED, group: 01 Standard Group): Syntax error in routine
    Rule (target: 0PROD_CATEG, group: 01 Standard Group): Syntax error in routine
    Key rule 43 (target field: 0VERSION): Initial update set
    pls guys if some one can suggest me to solve this i would be very greateful
    Bala
    Edited by: bala dondeti on Jun 20, 2011 12:32 PM
    Edited by: bala dondeti on Jun 20, 2011 12:43 PM

    Thanks for the info Umesh,
    Just to be sure - I should simply change "SOURCE_PACKAGE" to "DATA_PACKAGE" in the code of the start routine? "Source_Package" is present in two places in that code:
    METHODS
          start_routine
            IMPORTING
              request                  type rsrequest
              datapackid               type rsdatapid
            EXPORTING
              monitor                  type rstr_ty_t_monitors
            CHANGING
              SOURCE_PACKAGE              type tyt_SC_1
            RAISING
              cx_rsrout_abort.
    and then after that in:
    Migrated update rule call
      Perform routine_9998
      TABLES
        SOURCE_PACKAGE
      CHANGING
        l_abort.
    Or should I revert to the 3.5 version? (as a side note, that Data Source (2LIS_13_VDITM) has been activated in 7.0 version by default, when I replicated data sources in BW).
    Praveen, as to your remarks, I have the datasource 2LIS_13_VDITM (in version 7.0) active, along with the appropriate Infosource. Transformation between the DataSource and InfoSource is active, and only the transformation between the InforSource and the Cube poses problems.
    BR,
    Alek

  • 0CO_REPLINE infoobject ABAP routine error

    Hi experts,
    I am facing a problem while activating a transformation for the cube 0CCA_C11. I installed the flow in 3.5 and wen i was migrating the flow, i first migrated the update rule. At that time, the transformation is giving me " syntax error in the routine" for the infoobject 0CO_REPLINE.
    The eroor message is given below:
    *E:The type "_TY_S_SC_1_FULL" is unknown, but there is a type with the similar name "_TY_S_TG_1_FULL". "_TY_S_TG_1_FULL".*
    I have appended part of the routine:
    CLASS lcl_transform IMPLEMENTATION.
      METHOD compute_0CO_REPLINE.
      IMPORTING
        request     type rsrequest
        datapackid  type rsdatapid
        SOURCE_FIELDS-CO_AREA TYPE /BI0/OICO_AREA
        SOURCE_FIELDS-CO_DOC_NO TYPE /BI0/OICO_DOC_NO
        SOURCE_FIELDS-CO_ITEM_NO TYPE /BI0/OICO_ITEM_NO
        SOURCE_FIELDS-FISCVARNT TYPE /BI0/OIFISCVARNT
        SOURCE_FIELDS-FISCPER TYPE /BI0/OIFISCPER
        SOURCE_FIELDS-COSTCENTER TYPE /BI0/OICOSTCENTER
        SOURCE_FIELDS-ACTTYPE TYPE /BI0/OIACTTYPE
        SOURCE_FIELDS-VTYPE TYPE /BI0/OIVTYPE
        SOURCE_FIELDS-VTDETAIL TYPE /BI0/OIVTDETAIL
        SOURCE_FIELDS-VTSTAT TYPE /BI0/OIVTSTAT
        SOURCE_FIELDS-METYPE TYPE /BI0/OIMETYPE
        SOURCE_FIELDS-VERSION TYPE /BI0/OIVERSION
        SOURCE_FIELDS-VALUATION TYPE /BI0/OIVALUATION
        SOURCE_FIELDS-COSTELMNT TYPE /BI0/OICOSTELMNT
        SOURCE_FIELDS-DB_CR_IND TYPE /BI0/OIDB_CR_IND
        SOURCE_FIELDS-PIOBJSV TYPE /BI0/OIPIOBJSV
        SOURCE_FIELDS-PIOVALUE TYPE /BI0/OIPIOVALUE
        SOURCE_FIELDS-PART_CCTR TYPE /BI0/OIPART_CCTR
        SOURCE_FIELDS-PART_ACTTY TYPE /BI0/OIPART_ACTTY
        SOURCE_FIELDS-PART_COORD TYPE /BI0/OIPART_COORD
        SOURCE_FIELDS-PART_WBSEL TYPE /BI0/OIPART_WBSEL
        SOURCE_FIELDS-PART_ABCPR TYPE /BI0/OIPART_ABCPR
        SOURCE_FIELDS-AMOUNT TYPE /BI0/OIAMOUNT
        SOURCE_FIELDS-AMOUNTFX TYPE /BI0/OIAMOUNTFX
        SOURCE_FIELDS-AMOUNTVR TYPE /BI0/OIAMOUNTVR
        SOURCE_FIELDS-QUANTITY TYPE /BI0/OIQUANTITY
        SOURCE_FIELDS-QUANTITYFX TYPE /BI0/OIQUANTITYFX
        SOURCE_FIELDS-QUANTITYVR TYPE /BI0/OIQUANTITYVR
        SOURCE_FIELDS-CURRENCY TYPE /BI0/OICURRENCY
        SOURCE_FIELDS-CURTYPE TYPE /BI0/OICURTYPE
        SOURCE_FIELDS-UNIT TYPE /BI0/OIUNIT
        SOURCE_FIELDS-AUXACCTYPE TYPE /BI0/OIAUXACCTYPE
        SOURCE_FIELDS-AUXACCVAL TYPE /BI0/OIAUXACCVAL
        SOURCE_FIELDS-COMP_CODE TYPE /BI0/OICOMP_CODE
        SOURCE_FIELDS-BUS_AREA TYPE /BI0/OIBUS_AREA
        SOURCE_FIELDS-FUNC_AREA TYPE /BI0/OIFUNC_AREA
        SOURCE_FIELDS-PCOMP_CODE TYPE /BI0/OIPCOMP_CODE
        SOURCE_FIELDS-PFUNC_AREA TYPE /BI0/OIPFUNC_AREA
        SOURCE_FIELDS-CHRT_ACCTS TYPE /BI0/OICHRT_ACCTS
        SOURCE_FIELDS-GL_ACCOUNT TYPE /BI0/OIGL_ACCOUNT
        SOURCE_FIELDS-CREDITOR TYPE /BI0/OICREDITOR
        SOURCE_FIELDS-DEBITOR TYPE /BI0/OIDEBITOR
        SOURCE_FIELDS-PLANT TYPE /BI0/OIPLANT
        SOURCE_FIELDS-MATERIAL TYPE /BI0/OIMATERIAL
        SOURCE_FIELDS-EMPLOYEE TYPE /BI0/OIEMPLOYEE
        SOURCE_FIELDS-NOTIFICATN TYPE /BI0/OINOTIFICATN
        SOURCE_FIELDS-CO_ITEM_TX TYPE /BI0/OICO_ITEM_TX
        SOURCE_FIELDS-DOC_DATE TYPE /BI0/OIDOC_DATE
        SOURCE_FIELDS-PSTNG_DATE TYPE /BI0/OIPSTNG_DATE
        SOURCE_FIELDS-RECORDMODE TYPE RODMUPDMOD
        SOURCE_FIELDS-CORRTYPE TYPE /BI0/OICORRTYPE
        SOURCE_FIELDS-CCTR_IBV TYPE /BI0/OICCTR_IBV
        SOURCE_FIELDS-FM_AREA TYPE /BI0/OIFM_AREA
        SOURCE_FIELDS-FUND TYPE /BI0/OIFUND
        SOURCE_FIELDS-GRANT_NBR TYPE /BI0/OIGRANT_NBR
        SOURCE_FIELDS-PFUND TYPE /BI0/OIPFUND
        SOURCE_FIELDS-PGRANT_NBR TYPE /BI0/OIPGRANT_NBR
        SOURCE_FIELDS-PU_BDGTID TYPE /BI0/OIPU_BDGTID
        SOURCE_FIELDS-PBDGTID TYPE /BI0/OIPBDGTID
       EXPORTING
         RESULT type tys_TG_1-CO_REPLINE
        DATA:
          MONITOR_REC    TYPE rsmonitor.
    $$ begin of routine - insert your code only below this line        -
      Data:
        COMM_STRUCTURE   type tys_SC_1_full,
        l_subrc          type sy-tabix,
        l_abort          type sy-tabix,
        ls_monitor       TYPE rsmonitor,
        ls_monitor_recno TYPE rsmonitors.
      data:
        l_monitor        type standard table of rsmonitor.
      REFRESH:
        MONITOR.

    How have you solved? I have also error for 0vtype.
    Thanks!

  • Pricing routine 901 in the pricing procedure

    Can you tell me in detail (step by step) How to write pricing routine 901 in the pricing procedure?
    I know ABAP coding. I am new to SD (pricing).
    The only thing I know is the VOFM 901 Pricing Routine development is in ABAP program RV64A901.
    Purpose : Pricing Routine for calculating the price difference due to increase or decrease in the copal contract price from the copal actual price
    Description :
    Routine 901 : Copal Difference Calculation
    The formula to be used is : Copal Adjustment = ( Copal Contract Price + Copal Actual Price ) x Amount of Copal / 1000
    Where
    Copal Contract price is the condition type Y001 from the pricing procedure Z00003.
    Copal Actual price is the condition type Y002 from the pricing procedure Z00003.
    Amount of Copal is the condition type Y005 from the pricing procedure Z00003.
    Copal Adjustment is the condition type Y003 from the pricing procedure Z00003.

    Hi,
    Go to the transaction VOFM.
    In the menu..Choose...Formulas -> Condition value
    At the of the table ..Enter 901 and give the description..
    Then select that row and press source text button or F5.
    It will ask for the access key...
    Get the access key for the corresponding object
    R3TR PROG RV64A901
    Then in the code..
    READ TABLE XKOMV INTO LWA_Y001 WITH KEY KSCHL = 'Y001'
                                                      KPOSN = KOMP-POSNR.
    READ TABLE XKOMV INTO LWA_Y002 WITH KEY KSCHL = 'Y002'
                                                      KPOSN = KOMP-POSNR.
    READ TABLE XKOMV INTO LWA_Y005 WITH KEY KSCHL = 'Y005'
                                                      KPOSN = KOMP-POSNR.
    Sum up the values in LWA_Y001, LWA_Y002 & LWA_Y005
    And then move it to XKWERT
    Thanks,
    Naren

  • Issue in pricing routine

    Hi,
    I have an issue while writing code in the pricing routine. while calculating KBETR if the value is 1.035 it is rounding off to 1.04.
    Since KBETR has only two decimals it is rounding-off but client wants 1.035 only.
    Please help me.
    Regards,
    Anvesh Gummadapu.

    Hi Anvesh,
    Table for decimal decimal places in currency is TCURX .
    If ur currency does not supports 3 decimal places then may be u need to create a Z version of that currecny with 3 decimal places.
    Please check SAP documentaion [Special Output Formats |http://help.sap.com/saphelp_470/helpdata/en/9f/dba1ef35c111d1829f0000e829fbfe/content.htm]   & 
    [Defining Currencies|http://help.sap.com/saphelp_40b/helpdata/en/08/51410a43b511d182b30000e829fbfe/frameset.htm]

  • Multiple calls of same pricing routine while saving sale order

    Hi,
    I have a requirement where I have to modify a pricing routine 9XX for sale order. In pricing procedure, I observed that this routine 9XX is assigned to multiple pricing conditions (ZNN, ZMM, ZDD etc). I saw that this routine is getting called many times in debugging for each of these assigned pricing conditions. May I know on what basis this pricing routine gets triggered multiple times for the corresponding pricing condition?
    Thanks in advance.
    Regards,
    Sri

    Sri,
    For everychange at ITEM level,Pricing mechanism will be repeated.
    You can check in debugging as below
    1.FM Pricing.
    2.Subroutine perform xkomv_aufbauen_aus_komt1.
    3.Check for the below code
      * L O O P Pricing Procedure
        loop at komt1 from komk-ix_komt1_v to komk-ix_komt1_b.
    4.Within this loop you will find a subroutine
       perform (bedingung_pruefen) in program saplv61a if found.
    Put a break point on this LOOP and check what is happening at the desired condition type while it is running through all the condition types of that Pricing Procedure.
    K.Kiran.

  • Overflow in EXCEL title line routine - Error while posting FI document

    Hi All -
       We are getting an "Overflow in EXCEL title line routine" error message while posting SAP FI document thru FB01 transaction code. We are getting this error message while entering the coding block, can anyone please explain how this error message is coming and how to rectify it.
    Thanks in advance.
    Rds,
    K

    Hi,
    Thanks for the reply.
    The interesting part is, it is a standard message and there is no message class ZKV available in the system.  We have gone live only six months back and not done a single enhancement in HR module till now.
    As far as FICO is concerned, we have an internal control that we will not enhance any of the FI transactions in view of data accuracy and integrity.  We don't have enhancements running in FI & CO modules also.
    I am sure that it is a standard message.  This message is arising out of the function module 'AC_DOCUMENT_CREATE' called internally in the program associated with posting run transaction.
    Please hint, what could be the problem.
    Regards,
    Hema

  • DBM_CONNECT error, return code -11, tp error

    Hello
    I have an SCM 5.0 ABAP-only system (sid=APC) not correctly communicating with a 7.6.0.3 liveCache.  In transaction LC10, clicking the monitoring button for any DB connection results in:
    Name and Server     : LPC - dngdbs07                         
    DBMRFC Function     : DBM_CONNECT                            
    Error               : DBM Error
    Return Code         :        -11
    Error Message       : tp error: sapparam: SAPSYSTEMNAME neithe
    Notice how error message is cut off ...
    1.  LCA, LDA, and LEA connection tests in DB59 all fail with the same error.
    2.  From transaction SM49, dbmcli -d LPC -n dngdbs07 -tpp no_longer_used -tpi APC -tpc LCA <any command> fails with the same error.
    3.  From the command-line, dbmcli -d LPC -n dngdbs07 -tpp no_longer_used -tpi APC -tpc LCA <any command> succeeds for both apcadm and SAPserviceAPC users.  (ABAP system is Windows, liveCache system is HP-UX.)
    4.  RFC destinations SAPDB_DBM, SAPDB_DBM_DAEMON, and SAPXPG_DBDEST_<HOSTNAME> are all successful.
    5.  I un-checked the Central Authorization checkbox in LC10 --> Integration and the error goes away, so I can then see the liveCache system status.
    I tried debugging the ABAP and it appears sapxpg is having trouble calling the external command when Central Authorization is enabled.  Does anyone have any ideas about what's wrong with this? 
    SAP_BASIS SP 14
    NW 700 kernel patch 159
    non-unicode
    Thanks

    > Name and Server     : LPC - dngdbs07                         
    > DBMRFC Function     : DBM_CONNECT                            
    > Error               : DBM Error
    > Return Code         :        -11
    > Error Message       : tp error: sapparam: SAPSYSTEMNAME neithe
    >
    > Notice how error message is cut off ...
    Ok, the cutoff is just due to the error handling routine - I believe the full error message would be "SAPSYSTMNAME neiter in environment or parameterfile specified" or something like this.
    > 1.  LCA, LDA, and LEA connection tests in DB59 all fail with the same error.
    Of course they do - they are all the same connection setup, just for different purposes.
    > 2.  From transaction SM49, dbmcli -d LPC -n dngdbs07 -tpp no_longer_used -tpi APC -tpc LCA <any command> fails with the same error.
    Of course it does. The TP is used to get logon data from the SCM database (central authorization) for the logon to the liveCache. with the -tpp -tpi -tpc arguments you tell dbmcli to use TP.
    > 3.  From the command-line, dbmcli -d LPC -n dngdbs07 -tpp no_longer_used -tpi APC -tpc LCA <any command> succeeds for both apcadm and SAPserviceAPC users.  (ABAP system is Windows, liveCache system is HP-UX.)
    Well, perhaps you've  a different environment setup here? On Windows it's a quite common issue that everything works fine as <SID>adm but the SAP workprocesses run as SAPSERVICE<SID> ... so checking the environment variables for both might be a good idea.
    > 4.  RFC destinations SAPDB_DBM, SAPDB_DBM_DAEMON, and SAPXPG_DBDEST_<HOSTNAME> are all successful.
    Sure - they've nothing to do with TP. Instead these are just calls to the dbmcli command. SAPDB_DBM is just running one command and returning the result, where SAPDB_DBM_DEAMON is used for multiple commands in one DBM session.
    > 5.  I un-checked the Central Authorization checkbox in LC10 --> Integration and the error goes away, so I can then see the liveCache system status.
    Also quite clear - TP is only used with dbmcli when central authorization is used. If it's not used, then XUSER data is used to connect to the liveCache.
    > I tried debugging the ABAP and it appears sapxpg is having trouble calling the external command when Central Authorization is enabled.  Does anyone have any ideas about what's wrong with this? 
    As already said: check the environment variables. Also check the Transportprofile (TMS).
    If you don't succeed: open a support message.
    regards,
    Lars

  • Oracle error message code 1401 op 4, ORA-01401: inserted value too large fo

    Hi All
    I got this error when I try to run convert tables on our application server. Anyone know why? I am using Oracle 9i
    Here is the error message:
    Checking Table WORK_INSTRUCTION
    Table not in database
    Conversion Method - Create Table
    Creating Table WORK_INSTRUCTION
    Unable to create database table 'WORK_INSTRUCTION'
    Oracle error message code 1401 op 4, ORA-01401: inserted value too large for column
    WORK_INSTRUCTION definition as followings:
    table work_instruction;
    field identity
         used_for unique_key
         datatype identity;
    { APR 31/3/03 - Bug Nr WI4}
    field wi_admin
    {         links_to personnel . identity;}
    {         links_to location . identity;}
         links_to lab_section . identity;
    { ARP 31/3/03 - Bug Nr WI5 }
    field wi_title
    {         datatype text(20);   }
         datatype text(100);
    field version
              datatype text ( 4 );
    field wi_status
         datatype identity
         prompt_type choose
         choose_type WI_STATUS
         default 'I ' ;
    field wi_type
         datatype identity
         prompt_type choose
         choose_type WI_TYPE
         default '0 ';
    field sterlab_status
         datatype identity
         prompt_type choose
         choose_type STER_STAT
         default '0 ';
    field used_in_lims
         datatype boolean
         true_word 'Yes'
         false_word 'No'
         default 'No' ;
    { ARP WI16 28/5/03 - Extend from 10 to 45 }
    field method
         datatype text(45);
    field ref_method
         datatype text(100);
    field delegate
         links_to personnel . identity;
    field date_expire
         datatype date;
    field date_draft
         datatype date;
    field double_method
         datatype boolean
         true_word 'Yes'
         false_word 'No'
         default 'No' ;
    field technique
         datatype identity
         prompt_type choose
         choose_type TECHNIQUE
         default '0 ';
    field date_distribute
         datatype date;
    field report_date
         datatype date;
    field group_autho
         datatype text ( 16 );
    field astm_volume
         datatype text ( 6 );
    field date_non_active
         datatype date;
    field translated_in
         datatype text(10);
    { ARP WI16 28/5/03 - Extend from 60 to 2000 }
    field comments
         datatype text(2000);
    field doc_path
         datatype text ( 300 )
         prompt_type user_defined
         library 'TEST_SOP_FILE'
         routine 'file_browse';
    field modified_on
         datatype date
         used_for modified_on ;
    field modified_by
         links_to personnel.identity
         used_for modified_by;
    field modifiable
         datatype boolean
         used_for modifiable;
    field removeflag datatype boolean
         used_for remove_flag;
    { MOD TDR - 10/04/03 - Link to livelink document }
    field livelink_url
    datatype text ( 300 ) ;
    Thanks
    Li

    Verbatim from the manual:
    ORA-01401:     inserted value too large for column
    Cause:     The value entered is larger than the maximum width defined for the column.
    Action:     Enter a value smaller than the column width or use the MODIFY option with ALTER TABLE to expand the column width.You should find which value is bein attempted to be inserted into a column with a capacity shorter than the value length.
    ~ Madrid.

Maybe you are looking for