Bom explosion how to restrict the item level posnr

Hi friends
TABLES : MAST.
DATA: BEGIN OF ISTPO OCCURS 1000.
        INCLUDE STRUCTURE STPOX.
      DATA: END OF ISTPO.
DATA: W_TOPMAT LIKE CSTMAT.
SELECT-OPTIONS : P_MATNR FOR MAST-MATNR.
PARAMETERS     : P_WERKS TYPE MAST-WERKS.
DATA : BEGIN OF ITAB OCCURS 0,
           MATNR LIKE MAST-MATNR,
           WERKS LIKE MAST-WERKS,
           END OF ITAB.
DATA: IT_STB LIKE ISTPO OCCURS 0 WITH HEADER LINE.
*DATA : ITAB_STB LIKE ISTPO1 OCCURS 0 WITH HEADER LINE.
START-OF-SELECTION.
CLEAR ISTPO. REFRESH ISTPO.
SELECT MATNR WERKS FROM MAST INTO CORRESPONDING FIELDS OF TABLE ITAB
WHERE MATNR  IN
P_MATNR AND WERKS = P_WERKS.
LOOP AT ITAB.
  CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'
    EXPORTING
      CAPID                 = 'PP01'
      MEHRS                 = 'X'
      MMAPS                 = 'X'
     BREMS                  = 'X'
      DATUV                 = SY-DATUM
      MTNRV                 = ITAB-MATNR
      WERKS                 = P_WERKS
      EMENG                 = '1'
      FBSTP                 = ' '
      FTREL                 = ' '
    IMPORTING
      TOPMAT                = W_TOPMAT
    TABLES
      STB                   = ISTPO
    EXCEPTIONS
      ALT_NOT_FOUND         = 1
      CALL_INVALID          = 2
      MATERIAL_NOT_FOUND    = 3
      MISSING_AUTHORIZATION = 4
      NO_BOM_FOUND          = 5
      NO_PLANT_DATA         = 6
      NO_SUITABLE_BOM_FOUND = 7
      OTHERS                = 8.
  IF SY-SUBRC = 0.
WRITE:/ 'MaterialNumber' ,21 'Description'.
SKIP 1.
WRITE: / W_TOPMAT-MATNR UNDER TEXT-H00 COLOR COL_HEADING,
         W_TOPMAT-MAKTX UNDER TEXT-H01 COLOR COL_HEADING.
LOOP AT ISTPO .
  WRITE :/ ISTPO-POSNR,
           ISTPO-IDNRK,
           ISTPO-OJTXP,
           ISTPO-MENGE,
           ISTPO-MEINS.
ENDLOOP.
ENDIF.
*ENDLOOP.
SKIP 5.
ENDLOOP.
   here i gave the material no , it gave the bom of that materials.
  i restricted posnr itemnumber.
postnr   component number complonentdesct u
010        sfg
   010
   020
020       sfg
030       sfg
   010
   020
    i want  to get only sfg component how to use this logic in above coding.
very urgent. give me a solutions
Regards
ds

HI,
           my requirement is to explode the summaried bom ,using tcode cs13,
we ll get multilevel  cs12 , in my report i got cs1 explosion,
but i need to get like cs13 ouput using select-option,
but i got the output i would like to restrict levels
  ABC IS MATERIAL
   D
     E
     F - E and f required to make a d,
  G
    H
       I  H  and i requried to make a g,
i want to get only H , I, E,F =====> A
D,G IS SFG.
Regards
ds

Similar Messages

  • Bom explosion how to get the least level  every stufe = 1

    material number : 2t67363633
         following is the bom of that materials
       the below ouput is i got it from cs12
    .1 010 6631030681
    ..2 010 INL025000650
    ..2 020 IN6631030681
    .1 020 6650002622
    ..2 010 950002621GV
    .1 030 6682500491
    .1 040 712758079
    but in cs13 the following output i got only the following for the same materials
    .1 010 6631030681
    ..2 010 INL025000650 -
    i got this
    ..2 020 IN6631030681 -
    i got this
    .1 020 6650002622
    ..2 010 950002621GV  -
    i got this
    .1 030 6682500491    -
    i got this
    .1 040 712758079     -
    i got this
    requirement is take the least items in every level1 items
    supouse if the level1 item doesnt have any subitems ,we ll take this one  also
    following is the detiails for the senario,using this to restrict and how to get the cs13 above output
    level  fld2    fld3    fld4 fld5   fld6 fld7 componentname
    .1  0000001  00000097 001  00002  0001 010 6631030681  -
    ..2 0000001  00000093 002  00002  0001 010 inl025000650
    ..2 0000002  00000093 002  00004  0002 020 in6631030681-1560
    .1  0000002  00000097 001  00004  0002 020 6650002622
    ..2 0000001  00000095 002  00002  0001 010 950002621gv
    .1  0000003  00000097 001  00006  0003 030 6682500491
    <b> .1  0000004  00000097 001  00008  0004 040 712758079</b>
    i here attached my code for ur review
    i got the output without the last leve i bold it. is there any logic to solve the problem
    TABLES : MAST.
    DATA: BEGIN OF ISTPO OCCURS 1000.
            INCLUDE STRUCTURE STPOX.
          DATA: END OF ISTPO.
    DATA: W_TOPMAT LIKE CSTMAT.
    SELECT-OPTIONS : P_MATNR FOR MAST-MATNR.
    PARAMETERS     : P_WERKS TYPE MAST-WERKS.
    DATA : BEGIN OF ITAB OCCURS 0,
               MATNR LIKE MAST-MATNR,
               WERKS LIKE MAST-WERKS,
               END OF ITAB.
    DATA: IT_STB LIKE ISTPO OCCURS 0 WITH HEADER LINE.
    data : istpofinal like istpo occurs 0 with header line.
    data : istpotemp like istpo occurs 0 with header line.
    START-OF-SELECTION.
    CLEAR ISTPO. REFRESH ISTPO.
    SELECT MATNR WERKS FROM MAST INTO TABLE ITAB
                       WHERE MATNR  IN P_MATNR AND WERKS = P_WERKS.
    LOOP AT ITAB.
    CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'
        EXPORTING
          CAPID                 = 'PP01'
          MEHRS                 = 'X'
         MMAPS                 = ' '
         MDMPS                 =  ' '
         BREMS                  = 'X'
          DATUV                 = SY-DATUM
          MTNRV                 = ITAB-MATNR
          WERKS                 = P_WERKS
          EMENG                 = '1'
          STKKZ                 = ' '
          FBSTP                 = ' '
          FTREL                 = ' '
        IMPORTING
          TOPMAT                = W_TOPMAT
        TABLES
          STB                   = ISTPO
        EXCEPTIONS
          ALT_NOT_FOUND         = 1
          CALL_INVALID          = 2
          MATERIAL_NOT_FOUND    = 3
          MISSING_AUTHORIZATION = 4
          NO_BOM_FOUND          = 5
          NO_PLANT_DATA         = 6
          NO_SUITABLE_BOM_FOUND = 7
          OTHERS                = 8.
      IF SY-SUBRC = 0.
    WRITE:/ 'MaterialNumber' ,21 'Description'.
    SKIP 1.
    endif.
    WRITE: / W_TOPMAT-MATNR UNDER TEXT-H00 COLOR COL_HEADING,
             W_TOPMAT-MAKTX UNDER TEXT-H01 COLOR COL_HEADING.
    data : ttabix like sy-tabix,
            tstufe like stpox-stufe.
      data : len type i.
    istpotemp[] = istpo[].
      describe table istpotemp lines len.
    LOOP AT ISTPO .
    WRITE :/ ISTPO-STPOZ,
               ISTPO-STLKN,
               ISTPO-POSNR,
               ISTPO-IDNRK,
               ISTPO-OJTXP,
               ISTPO-MENGE,
               ISTPO-MEINS.
    if sy-tabix = len.
    move-corresponding istpo to istpofinal.
    append istpofinal.
    exit.
    endif.
    ttabix = sy-tabix - 1 .
    if tstufe ge istpo-stufe.
    read table istpotemp index ttabix.
    move-corresponding istpotemp to istpofinal.
    append istpofinal.
    endif.
    tstufe = istpo-stufe.
    ENDLOOP.
    *endif.
    endloop.
    skip 3.
    loop at istpofinal.
         WRITE :/ ISTPOFINAL-STPOZ,
                ISTPOFINAL-STLKN,
                ISTPOFINAL-POSNR,
                ISTPOFINAL-IDNRK,
                ISTPOFINAL-OJTXP,
                ISTPOFINAL-MENGE,
                ISTPOFINAL-MEINS.
    endloop.

    Hi Shiba,
    We got the required list,
    But while using select-option to view multiple values the list of datas in the ISTPOFINAL gets displayed like the given below.
    example
    Material1
    .........Component 1
    .........Component 2
    Material 2
    .........Component 1......... From Material 1
    .........Component 2......... From Material 1
    .........Component 3
    .........Component 4
    Material 3
    .........Component 1......... From Material 1
    .........Component 2......... From Material 1
    .........Component 3......... From Material 2
    .........Component 4......... From Material 2
    .........Component 5
    .........Component 6
    Like this it goes on for the entire list at the tie of displaying the ISTPOFINAL.
    We tried evn by deleting the adjacent duplicate values still it gets displayed.
    is there any problm with the loop or is it the problm with the ending of the loop.
    Pls suggest us.
    LOOP AT ITAB.
    CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'
        EXPORTING
          CAPID                 = 'PP01'
          MEHRS                 = 'X'
          MMAPS                 = ' '
          MDMPS                 =  ' '
         BREMS                  = 'X'
          DATUV                 = SY-DATUM
          MTNRV                 = ITAB-MATNR
          WERKS                 = P_WERKS
          EMENG                 = '1'
          STKKZ                 = ' '
          FBSTP                 = ' '
          FTREL                 = ' '
        IMPORTING
          TOPMAT                = W_TOPMAT
        TABLES
          STB                   = ISTPO
          MATCAT                = MATCAT
        EXCEPTIONS
          ALT_NOT_FOUND         = 1
          CALL_INVALID          = 2
          MATERIAL_NOT_FOUND    = 3
          MISSING_AUTHORIZATION = 4
          NO_BOM_FOUND          = 5
          NO_PLANT_DATA         = 6
          NO_SUITABLE_BOM_FOUND = 7
          OTHERS                = 8.
    WRITE: / W_TOPMAT-MATNR UNDER TEXT-H00 COLOR COL_HEADING,
             W_TOPMAT-MAKTX UNDER TEXT-H01 COLOR COL_HEADING.
    data : ttabix like sy-tabix,
            tstufe like stpox-stufe.
      data : len type i.
    istpotemp[] = istpo[].
      describe table istpotemp lines len.
    loop at istpo.
    CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'
        EXPORTING
          CAPID                 = 'PP01'
          MEHRS                 = 'X'
          MMAPS                 = ' '
          MDMPS                 =  ' '
         BREMS                  = 'X'
          DATUV                 = SY-DATUM
          MTNRV                 = ISTPO-IDNRK
          WERKS                 = P_WERKS
          EMENG                 = '1'
          STKKZ                 = ' '
          FBSTP                 = ' '
          FTREL                 = ' '
        IMPORTING
          TOPMAT                = W_TOPMAT
        TABLES
          STB                   = ISTPOTEMP
         MATCAT                = MATCAT
        EXCEPTIONS
          ALT_NOT_FOUND         = 1
          CALL_INVALID          = 2
          MATERIAL_NOT_FOUND    = 3
          MISSING_AUTHORIZATION = 4
          NO_BOM_FOUND          = 5
          NO_PLANT_DATA         = 6
          NO_SUITABLE_BOM_FOUND = 7
          OTHERS                = 8.
    if sy-subrc ne 0.
    move-corresponding istpo to istpofinal.
    append istpofinal.
    clear: istpo, istpofinal.
    else.
    continue.
    clear: istpo, istpofinal.
    endif.
    *break-point.
    delete adjacent duplicates from istpofinal.
    endloop.
    loop at istpofinal.
         WRITE :/ ISTPOFINAL-STPOZ,
                ISTPOFINAL-STLKN,
                ISTPOFINAL-POSNR,
                ISTPOFINAL-IDNRK,
                ISTPOFINAL-OJTXP,
                ISTPOFINAL-MENGE,
                ISTPOFINAL-MEINS.
    clear: istpofinal.
    endloop.
    endloop.

  • How to Restrict the node level in account hierarchy

    Hi experts,
    I want to restrict the node level in account hierarchy. I attached one example. in that if i click 6000 node again it want to show error message. for one parent node i want to create only two child node. Further if i create means it want to show error msgs and not allow to create the node..
    Regards,
    gopi

    Hi ,
    The component is bp_hier, and method is onnew_node.
    IF lv_tree->is_locked( ) = abap_false.
         lv_tree->lock( ).
       ENDIF.
       CHECK lv_tree->is_locked( ) = abap_true.
       lv_index = typed_context->accounthierarchy->selected_index.
       lv_tree_node = typed_context->accounthierarchy->get_node_by_index( lv_index ).
    *key = lv_tree_node->node_key.
      CALL METHOD lv_api->get_node_parent
         EXPORTING
           iv_node_key        = key
         IMPORTING
           ev_parent_node_key = lv_paent_key
    *      ev_tree_guid       =
    *   lv_parent = lv_tree_node->parent_entity.
    *    typed_context->accounthierarchy->parent_entity.
    CALL METHOD lv_tree_node->get_children
       receiving
         rt_children = rt_child.
       CHECK lv_tree_node IS BOUND.
       lv_tree_node->is_leaf = abap_false.
       TRY.
           lv_proxy_node ?= lv_tree_node.
           TRY.
               lv_object ?= lv_proxy_node->bo.
             CATCH cx_sy_move_cast_error.
               lv_mixed_node ?= lv_proxy_node->bo.
               lv_object ?= lv_mixed_node->if_bsp_wd_ext_property_access~get_model_node( ).
           ENDTRY.
           lv_object_name = lv_object->get_name( ).
           IF lv_object_name = 'BuilHierarchyNode'.
             lv_relation_name = 'BuilHNodeRel'.
           ELSEIF lv_object_name = 'BuilHierarchyHeader'.
             lv_relation_name = 'BuilHeaderNodeRel'.
           ELSE.
             RETURN.
           ENDIF.
           lv_tree_node->get_children( ).
           lv_object = lv_object->create_related_entity( lv_relation_name ).
           lv_child_node = lv_proxy_node->node_factory->get_proxy(
               iv_bo = lv_object
               iv_proxy_type = 'CL_BP_HIER_HIERARCHYTREEV_CN05'
               iv_parent_proxy = lv_tree_node ).
           lv_tree_node->expand_node( ).
           typed_context->accounthierarchy->refresh( ).
           typed_context->accounthierarchy->deselect_all( ).
           lv_child_node->selected = abap_true.
           lv_child_node->is_leaf  = abap_true.
    *accounthierarchy
    *      selectedhierarchynode
           lv_col_wrap = typed_context->selectedhierarchynode->get_collection_wrapper( ).
           lv_col_wrap->clear( ).
    This is the code.
    i wrote . but its not getting.

  • How to move the item level details to line item in the Purchase order form

    Hello,
    I am in SAP SRM7.0 system, my customers requirement is that the item level details like MPN (Manufacturer Part Number) etc.. should be moved to line item field in the Puchase Order.
    Can any one give me susggestion on this. This is not the correct forum for this thread but still pls post the link of related threads which may help in this regard.
    Regards
    Madhan

    HI Masa,
    THanks a lot for your reponse, in the option given by you i could find it to make visible or required but there is clue on moving the MPN to item field in the line item level. Can you give more input on this.
    Regards
    Madhan

  • How to restrict the user from making any changes in Sales order- item level

    Hi to all
    How to restrict the users from making any changes in sales order at item level if the same sales order is released by senior user through status profile.
    Regards
    Anish Parikh
    Edited by: anish parikh on Jan 24, 2008 5:16 AM

    Hi Anish,
    This can be achieved through the roles and authorization.
    This can be done through the basis team. they can create user profiles and roles.
    For the roles they assign some transaction codes so that they can view the only assigned tr. codes.
    Like that ur requirement can be done.
    Also u can prevent the user to change any fields in the sales order screen (VA02). for that please modify the authorisations.
    Hope i answers.
    Reward points if useful.
    Edited by: kaleeswaran bhoopathy on Jan 24, 2008 9:57 AM

  • How to get the nber of POs at the item level?

    Hi all,
    I am running BI 7 and SRM 5.5. I am using the standard PO History cube.
    I have a report where I filter on items values only (no header) since I want to report by - let's say - product category.
    In my char part, I will have: Date | product category
    In the KF part, I have: Ordered Amount | Nber of POs
    In the flow, PO amount is stored at the item level while the nber of POs is stored at the header level. By running the report, I get the ordered amount information but 0 for the nber of POs.
    How could I get the "Nber of POs" information in my case? Maybe it is not that easy (looking the following example).
    PO1 - Item 10 - Product Category A
    PO1 - Item 20 - Product Category B
    PO1 - Item 30 - Product Category C
    PO2 - Item 10 - Product Category D
    PO2 - Item 20 - Product Category A
    PO2 - Item 30 - Product Category A
    Here I would be happy to have:
    Date | Product Category A | Amount | 2 (PO1-PC A + PO2-PC A)
    (but how BI knows that we are dealing with 2 POs?)
    Thanks in advance - chris

    Hi
    Check whether counter infoobject Number of items is availbale in MCEKPO ,if so just drag into left side and do this enhancement for 2LIS_02_ITM.
    Create  a number of item field in the cube and update with value 1 referring the Item number
    In query it may reduce query runtime performance
    This will just update 1 for every instance of item and you can aggregate them in your query whatever level you require
    Regards
    N Ganesh

  • How to change the product category on the item level of a Sales order

    1) For each product there are Basic Product Hierarchy and Sales Product
    Hierarchy.
    2) when creating sales order, system gets the Sales Product Hierarchy
    on the Item level with the default logic.
    So our question is: how to change the logic to let system get the Basic
    Product Hierarchy on the Item Level.

    Hi,
    I believe the POSTING DATE will appear on the accounting document
    In the Accounting document, the posting date will be based on the  Billing date.
    Please let me know if you need any more details
    santosh

  • How do I get Item Level text from PO ME21N Prior To Saving The PO?

    I saw this asked a few times but no solution so I will ask again.
    Imagine that you are creating a PO in ME21N. You have some Header Level Text and then imagine you have 2 items in this PO. Each of these two items has Item Level Text.
    Once a PO is saved, I know how to use Read_Text to get the texts for the header and items. You simply pass which text you want (ex. F01) the PO number and the language and it returns the texts for the header. For item level you combine PO number and Item number you want in the Name parameter of Read Text (example 112233445500010) then tell it which text you want (ex F01) and that is how it knows which item you want the text for.
    However: When the user is first creating the PO, they want to see how it will look in printing but prior to actually saving the PO. They dont want to save the PO until they know how it will print with Print Preview.
    I was very surprised that the print preview actually worked for the Header Texts prior to saving. I debugged Read_Text and see that when it sees no PO number passed, it simply supplies the text (F01) and the language and pulls it out of an FM READ_CATALOG which I am assuming is memory. In theory, you will only have one F01 text at the header level and it makes sense to me that it is able to retrieve that.
    BUT: My Item Level Texts are not returning anything. It makes sense to me as well because you cannot simply tell it give me the F01 texts you see because if you have multiple items, you will have multiple F01 texts, one for each item number if you put text to each item.
    How can I get the item level texts out before saving the PO? Since the PO is not saved yet, there is no PO number and nothing is stored in STXH and STXL. Where are the texts stored and how can I retrieve them? I tried passing just the item number but as expected it still returned nothing.
    Any ideas?

    Ok I figured it out. I will add this for anyone else that may have this issue.
    The short version is that just like header level texts, item level texts that have not yet been officially saved to the PO are stored in a catalog. If you were to debug READ_TEXT you will see that it will look in the catalog to see if there is an entry there for the corresponding texts (ex F01, F02 etc).
    For header texts, you simply pass the language and which text you want without the PO number and it will return header texts.
    Item level however you have to specify which line item you want plus which text and then the language.
    During debugging if you debug Read_text and go to the FM READ_CATALOG you will see the following:
    READ TABLE CATALOG WITH KEY CATALOG_KEY.
    Load the table Catalog into the debugger and see how it stores them.
    In one solution I read on this forum it said to use 10 zeros and then your item number.
    Mine was stored with 10 spaces, not zeros. Loaded 10 spaces plus the item number and it returned my text with READ_TEXT.
    Hope this helps someone else one day!!

  • How to set the item property to restrict the user to not to copy from above

    Hi Guru's,
    I have a requirement like, There were two items on the form name email Id, Confirm email Id.
    I have to ristrict the user to not to copy from email Id item.. make him/her to enter the value into confirm email id item field manually.
    How to set the item property to restrict the user to not to copy from above item and paste it in this item.
    Please help.
    Thanks!!

    Just an opinion here, but that is about the dumbest requirement I have ever seen.
    I am always annoyed by web sites that ask me to enter my email twice. I ALWAYS copy the email address from the original entry and paste it into the second one.
    People enter their email addresses so often, it takes a real klutz to not get it right. And what makes you think that if they enter it twice, that they won't enter it wrong both times anyway???

  • How to do the reversal in the item level of a (delivery)document?

    hi friends,
    Is there any way to put reversal, at the item level for the document already posted ?
    Do we have any standard funtion module or BAPI to pass value from the editor ?
    My task is, I want to do the reversal in the item level of the (delivery)document.
    I tried with the BAPI - BAPI_ACC_GL_POSTING_REV_POST, but this is reversing the whole document. but I want to reverse in line item only.
    please suggest me.....
    Quick replies would be rewarded.
    Thanks in advance.
    Regards

    Hi Rob,
    yes, what you told is right. I want to do the same. I will first reverse the particular line item and will post the correct entry. but here, I need to do that for a huge number of document. It will be good if I pass the values using a funtion module or a BAPI to reverse. So, I want a Funtion Module or BAPI to process it.
    anyway, after reversing the document, I am going to post the document with correct entry.

  • How do I restrict the items shown in Action pull-down list in Quote Overiew

    I would like to restrict the items shown in the pull-down list of Actions in Quote Overview Screen in Oracle Quoting (HTML)
    The list is defined as part of Quick Codes (Lookup_type = ASO_QUOTE_ACTION). Per my understanding, it should show up all the lookup values enabled in ASO_QUOTE_ACTION. But I see only a few of those enabled in the action drop-down list in Overview Screen.
    I appreciate if any one can provide any clue where they are restricted.
    To access ASO_QUOTE_ACTION Loookup code, here is the navigation path.
    ® Quoting Sales Manager &#8594; (N) Setup &#8594; Quick Codes and query for ASO_QUOTE_ACTION.
    Thanks
    Rao

    Wrong Forum....

  • How to restrict the changes in Relesed PO?.

    Hi all,
    How to restrict the users to make a changes in the Released PO?. User should make the changes only if it is unreleased by the respective codes.
    1. Is there any user parameters like functional authorisation?
    2. I have already suggested two solutions to the clients that
        1. To restrict the authorisation of TCodes ME22n at the user level, but it's not a suitable solution, if user want to make any changes before releasing, then system is not allow to do the changes.
        2. I have made release indicator as a 1 - not changeable if it is released, in release strategy settings. But the system is not allowing the all the users including release codes to make the changes?.
    If there is any solution, please reply immediately.
    with regards,
    Raja.

    hi,
    if u set release indicator 1, after release is taken place, for any changes, u need to revoke the release. and then change the PO.
    even u cant directly block the changes to already released PO, because, in future if at all qty or some changes is required to change, it should allow u to change!

  • How to restrict the duplicate values in lov column of VO based Adv Table

    Hi Gurus,
    I want to restrict the duplicate values at lov which is a colunm in an Adv Table.
    If user enters duplicate values then first it should show an error msg that Duplicate values have been entered.
    After the duplicate values have been removed, then the user can save all the values in the table.
    My Adv Table is based on a VO.
    The link how to restrict the duplicate values at form level
    talks about Adv Table based on a EoVO, which doesnot work in my case.
    My Approach,
    I am iterating through RowSetIterator and committing through PROCEDURE.
    I am able to avoid duplicate entry through a function checkRespId. (given below)
    Below code is for iterating and committing.
    public void saveline(String reqid,String userid)
    System.out.println("RequestId/saveline"+reqid);
    System.out.println("UserId/saveline"+userid);
    OAViewObject vo = (OAViewObject)getRespLineVO1();
    RespLineVORowImpl row = null;
    int fetchedRowCount = vo.getFetchedRowCount();
    RowSetIterator deleteIter = vo.createRowSetIterator("deleteIter");
    if (fetchedRowCount > 0)
    deleteIter.setRangeStart(0);
    deleteIter.setRangeSize(fetchedRowCount);
    for (int i = 0; i < fetchedRowCount; i++)
    System.out.println("Inside the for LOOP");
    row = (RespLineVORowImpl)deleteIter.getRowAtRangeIndex(i);
    String respoidid = row.getAttribute("ResponsibilityId")+"";
    String respname = row.getAttribute("ResponsibilityName")+"";
    String stdate = row.getAttribute("StartDate")+"";
    String enddate = row.getAttribute("EndDate")+"";
    String linestatus ="A";
    if(userid!=null)
    if(!(respoidid.equals("null")) && respoidid!=null)
    String checkingrespid=null;
    checkingrespid = checkRespId(userid,respoidid);+contains no if not duplicate and yes if its duplicate+
    System.out.println("checkingrespid for Resp with ID :"+respoidid+"exists or not "+checkingrespid);
    if(checkingrespid.equals("No"))
         String message, result = null;
    Connection txn = getOADBTransaction().getJdbcConnection();
    try
    calling PROC ...
    catch(Exception e)
    message = "Error in Inserting into line" + e;
    throw new OAException(message, OAException.ERROR);
    else
    throw new OAException("You have entered duplicate no. of values", OAException.ERROR);
    else
    System.out.println("respoidid is null");
    break;
    deleteIter.closeRowSetIterator();
    public String checkRespId(String userid,String respoidid)
    String createRow="No";
    OAViewObject vo = (OAViewObject)findViewObject("CheckRespVO1");
    if (vo != null)
    vo.setWhereClauseParams(null);
    vo.setWhereClauseParam(0, userid);
    vo.setWhereClauseParam(1, respoidid);
    vo.executeQuery();
    System.out.println("ROW COUNT IS "+vo.getRowCount());
    if(vo.getRowCount()>0)
    createRow="Yes";
    else
    createRow="No";
    return createRow;
    Problem:
    I remove the duplicate entries and click on save and get this error.
    Unable to perform transaction on the record. \nCause: The record contains stale data. The record has been modified by another user.
    \nAction: Cancel the transaction and re-query the record to get the new data.
    Thanks,
    Sombit

    Hi Anil,
    I am trying out your code but stuck in inserting the rows
    using your code in URL: http://oracleanil.blogspot.com/2010/09/oaf-passing-table-type-object-to-oracle.html
    I am always getting the same exception i.e COde blast in when I run.
    My modified code is:
    String[] as = null;
    Number[] vNumber = null;
    Number[] vNumberrespid = null;
    Number reqidnumber = null;
    reqidnumber = new Number(Integer.parseInt(reqid));
    Connection txn = getOADBTransaction().getJdbcConnection();
    String mCreateSearchRequestStatement = null;
    OAViewObject vo = (OAViewObject)findViewObject("RespLineVO1");
    int j = vo.getFetchedRowCount();
    try
    System.out.println("abouce try");
    vo.reset();
    if (vo.getFetchedRowCount() > 0)
    System.out.println(String.valueOf("Fetched row count ").concat(String.valueOf(vo.getFetchedRowCount())));
    int i = 0;
    as = new String[j];
    vNumber = new Number[j];
    vNumberrespid = new Number[j];
    while (vo.hasNext())
    vo.next();
    System.out.println(String.valueOf("Inisde the do while loop").concat(String.valueOf(i)));
    vNumber[i] = (reqidnumber);
    vNumberrespid = ((Number)vo.getCurrentRow().getAttribute("ResponsibilityId"));
    as[i] = String.valueOf(vo.getCurrentRow().getAttribute("ResponsibilityName")).concat(String.valueOf(""));
    System.out.println("Request ID "+reqidnumber[i]);//getting null even there is some value selected
    System.out.println("ResponsibilityId "+vNumberrespid[i]);//getting null even there is some value selected
    System.out.println("Resp Name "+as[i] );//getting null even there is some value selected
    i++;
    CallableStatement cs = txn.prepareCall("{call XX_PassTableType.XX_PassTableType_prc(:1, :2,:3)}");
    ARRAY array = new ARRAY(new ArrayDescriptor("APPS.JTF_NUMBER_TABLE", txn), txn, vNumber);
    ARRAY arraynew = new ARRAY(new ArrayDescriptor("APPS.JTF_NUMBER_TABLE", txn), txn, vNumberrespid);
    ARRAY array1 = new ARRAY(new ArrayDescriptor("APPS.JTF_VARCHAR2_TABLE_100", txn), txn, as);
    cs.setArray(1, array);
    cs.setArray(2, arraynew);
    cs.setArray(3, array1);
    cs.registerOutParameter(3, 2003, "JTF_VARCHAR2_TABLE_100");
    cs.execute();
    ARRAY error = null;
    error = (ARRAY)cs.getArray(2);
    if ((error != null) && (error.length() > 0))
    System.out.println(String.valueOf("Error is ").concat(String.valueOf(error.getArray())));
    String[] retError = new String[j];
    retError = (String[])error.getArray();
    System.out.println(String.valueOf("Error in saving data").concat(String.valueOf(retError[0])));
    cs.close();
    catch (Exception exception)
    throw new OAException("code blast", OAException.ERROR);
    Thanks,
    Sombit

  • How to restrict the delivery quantity not more than target quantity?

    Dear Gurus,
    How to restrict the delivery quantity not more than target quantity in a scheduling agreement? I think there are 2 methods.
    1. I found that setting 0 in Overdelivery Tolerance Limit in Info Record is not effective. Why?
    2. I want to set E for the message but can't find the place. The message is generated when entering and saving quantity as delivery quantity that is larger than target quantity. How can I set E to a message (067, as I remember)
    Any other effective method? Please advice. Thanks.
    Regards,
    David

    Dear all,
    It is not OK after checking everywhere you mentioned. I tested in 2 clients. In the development enviroment client, it works whatever E or W. In test enviroment, it does not work (meassge is W).
    I think there must be somewhere besides of those you menetioned.
    I notes that SAP help for the overdelivery tollerance setting of scheduling agreement: 
    Overdelivery Tolerance Limit
    Percentage (based on the order quantity) up to which an overdelivery of this item will be accepted.
    Dependencies
    If you have set the indicator in the Partial delivery/Item field to 'D' (partial delivery allowed), this takes priority. It makes no sense to define a tolerance limit for overdelivery in such case.
    Where can I see: 'the indicator in the Partial delivery/Item field to 'D' (partial delivery allowed)'? I want to check it.
    Pls help! Thanks.
    Regards,
    David

  • How to restrict the decimal entry on dynamic table in adf 11 .6

    Hi All,
      JDev version 11.6
      I have a usecase based on dynamic VO. How to restrict the decimal numbers on table columns . When user enter the decimal number .I have to show error message.
      In order to achieve above requirement .I have added value change listener on table column .its not working as expected
    <af:table rows="#{bindings.EmployeeDynamicVO.rangeSize}"
                      fetchSize="#{bindings.EmployeeDynamicVO.rangeSize}"
                      emptyText="#{bindings.EmployeeDynamicVO.viewable ? 'No data to display.' : 'Access Denied.'}"
                      var="row" rowBandingInterval="0"
                      value="#{bindings.EmployeeDynamicVO.collectionModel}"
                      selectedRowKeys="#{bindings.EmployeeDynamicVO.collectionModel.selectedRow}"
                      selectionListener="#{bindings.EmployeeDynamicVO.collectionModel.makeCurrent}"
                      rowSelection="single" id="t1"
                      styleClass="AFStretchWidth" autoHeightRows="-1"
                      columnStretching="last" contentDelivery="immediate" >
              <af:forEach items="#{bindings.EmployeeDynamicVO.attributeDefs}"
                          var="def">
                <af:column headerText="#{bindings.EmployeeDynamicVO.labels[def.name]}"
                           sortProperty="#{def.name}" id="c1">
                  <af:inputText value="#{row[def.name]}" id="ot1"
                                valueChangeListener="#{backingBeanScope.EmployeeBean.validateINputs}"
                                autoSubmit="true">
                    </af:inputText>
                  <af:outputText value="#{row[def.name]}" id="ot6"
                                 visible="#{def.name eq 'Dummy'}"/>
                </af:column>
              </af:forEach>
            </af:table>
    So appriciate if any alternatives on above usecase. Thanks in advance

    HI
    Expected :as soon as user enter the decimal values in table column , it should throw the error message in new small new window
    Getting the value change listener and validating , but its working only tab out (Because VO is dynamic )
    please suggest us any reg expression and Validators to achieve the above scenario ?

Maybe you are looking for

  • Photoshop CS2 won't let me open?

    I received Photoshop CS2 from Adobe because they shut down the CS server, killing my program. I installed the program using their serial number and when I open it, it says the serial number was not installed and then when I push 'ok' it shuts down. H

  • I have two .mac addresses; how does this work in iCloud?

    This is not about consolidating Apple ID's... I think. When I got my first .mac address, I thought I picked a good one at the time. Later on, due to the peculiar spelling, I opted for an additonal (paid) address which I use every day. Now the first o

  • Waveburner;  a few Questions regarding track files and Session Data

    After a bit of negotiating, I'm almost ready to burn. Was having problems with file locations and discovered that i had multiple files in different locations. Those have been eliminated and all relative track files are in one place now with the Song

  • Error Message on Windows 8.1 and Photoshop 7

    Just installed PS7 on DELL Inspiron with Windows 8.1. Install complete but got this message: Currently Have PS's primary scratch & Windows primary paging file on the same volume. This can reduce performance. Recommend you set PS primary scratch volum

  • I need information about moving photo files--can you help?

    My PC internal hard drive C: is full so I can't add more photos.  I discovered the hard drive is partitioned and has another drive D: that is empty and has more than enough space.  How do I move all my photos from C: to D: and leave the Elements prog