Create a Parent EO Based VO.

Issue - We have a AdvancedTable with a DetailTable. We are doing some calculations based on the data in the detail table.
For Ex: We have Num1 and Num2 in ChildVO as EO Based Attributes. We have a Result attribute calculated as Num1-Num2. The subtracted value is not getting set in the Result attribute in the Child VO.
To reproduce:
1. Create a Parent EO Based VO.
2. Create a Child EO Based VO with a calculated attribute.
3. Create a View Link to join the VOs.
4. On some action on the screen, update the value of the calculated attribute.
5. The update is not happening.

any help

Similar Messages

  • Update Approval Status of parent Folder based on approval status of folder items

    Hi,
    I have a SharePoint list which contains folders. Each folder contains one or more items. I wish to update the folder approval status to "Approved" when all the items inside the folder are approved.
    The workflow should trigger whenever the approval status of one or more items inside the folder is changed and is expected to check the approval status of all other items inside the folder. If all the items are approved the folder's approval status should
    be set to "approved".
    I am designing the workflow via SharePoint Designer 2013 and using SharePoint Online 2013 .
    Thanks a lot in advance.

    Hi,
    According to your post, my understanding is that you wanted to update Approval Status of parent Folder based on approval status of folder items.
    Per my knowledge,
    there is no out of the box way to accomplish this with SharePoint.
    Though we can loop the
    folder items to set the content approval status, we can not get the parent folder and then set the content approval status.
    As a workaround, I recoemend to create event reciever to get set the content approval status of the folder items.
    For more information, you can refer to:
    How to: Create a remote event receiver
    How to create a simple Remote Event Receiver for a Custom List in Office 365 SharePoint 2013 site
    Regarding SharePoint Online, for quick and accurate answers to your questions, it is recommended that you initial a new thread in Office 365 forum.
    Office 365 forum
    http://community.office365.com/en-us/forums/default.aspx
    Thanks,
    Linda Li                
    Forum Support
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
    [email protected]
    Linda Li
    TechNet Community Support

  • Update parent status based on all children status and sum of children amount.

    Hi,
    I need to write sql query for the following scenarios.
    We have 3 financial systems (sys1, sys2, sys3) where a same transaction gets entered independently into each system OR entered into one and exported to the other system. Transaction need not be in all 3 systems.
    We need to create reconcile report to see the status of transaction and display if it is reconciled or not. For this, in our stored procedure we are pulling data from 3 systems into temp tables and using CTE and other logic marking each transaction status
    in each system temp table. One of the systems (eg sys1), we made it as source.
    Sys1 temp table has both parent and child records and are distinguished using type. Sys2 and sys3 has only children records.  When report is created, we are showing parent  from sys1 temp table and
    children from new temp table where children status is updated based on availability of it in all 3 systems.
    DECLARE
    @sys1 TABLE
    ID int,
    childID varchar(20),
    ParentID varchar(20),
    RecType decimal(3,0),
    SettleDate smalldatetime,
    Principal money,
    Sys3ID varchar(16)
    NULL,
    Sys2ID int
    NULL,
                            Status varchar(25) NULL
    DECLARE
    @sys2 TABLE
    TxID int
    PRIMARY KEY NOT
    NULL,
    CommonTransactionID varchar(16),
    SettleDate smalldatetime,
    Par money,
    Sys3ID varchar(16) NULL,
    Sys1ChildID,
    Sys1ParentID bigint
    DECLARE
    @sys3 TABLE
    Sys3ID varchar(16),
    REFERENCE
    varchar(16),
    VALUE_DATE datetime,
    DIRECTION char(1),
    AMOUNT money,
    RecSource varchar(2)
    Insert Into @sys1 (ID, childID, ParentID, RecType, SettleDate, Principal)
    Select 172876, 217955, 217954, 100, ‘2015-03-01’, 100.00
    Union
    Select 172877, 217956, 217955, 50, ‘2015-03-01’, 15.00
    Union
    Select 172878, 217957, 217955, 50, ‘2015-03-01’, 25.00
    union
    Select 172879, 217958, 217955, 50, ‘2015-03-01’, 10.00
    Union
    Select 172880, 217959, 217955, 50, ‘2015-03-01’, 10.00
    union
    Select 172881, 217960, 217955, 50, ‘2015-03-01’, 40.00
    Insert Into @sys2(TxID, Sys1ID, settleDate, Par)
    Select 4336620, 217956, ‘2015-03-01’, 15.00
    Union
    Select 4336621, 217957, ‘2015-03-01’, 25.00
    union
    Select 4336613, 217958, ‘2015-03-01’, 10.00
    Union
    Select 4336614, 217959, ‘2015-03-01’, 10.00
    union
    Select 4336615, 217960, ‘2015-03-01’, 40.00
    Insert into @sys3(Sys3ID, Reference, Value_Date, Direction, Amount)
    Select 1, ‘5654471 4336620’, ‘2015-03-01’, ‘O’, 15.00
    Union
    Select 2, ‘5654481 4336621’, ‘2015-03-01’, 'O',25.00
    Union
    Select 3, ‘5654491 4336613’, ‘2015-03-01’, 'O',10.00
    Union
    Select 4, ‘5654501 4336614’, ‘2015-03-01’, 'O',10.00
    Union
    Select 5, ‘5654511 4336615’, ‘2015-03-01’, 'O', 40.00
    After going thru lot of other logic, final temp table will have only children with status assigned. The above temp table data is only for 1 scenario.
    The following are status of children.
    This is how status of children is determined:
    Not Settled – All child records start as Not settled in temp tables.
    Settled – when record exists in sys3 and other criteria is met.
    Partially settled – record exists in sys3 and either in sys1 or sys2 or other criteria is not met.
    Reconciled – child record should exist in all 3 systems and all criteria is match
    Mismatched – record has wrong amount when compared in any of 2 systems.
    **************** My Part below*******************
    My part is to update the status of parent based on children status and parent amount must match sum of child amounts. If amounts don’t match, then leave the status of parent as null.
    Determining the status of parent:
    Not Settled – None of children has yet settled.
    Settled – All children are settled.
    Partially settled – some of children are as settled OR 1+ children are partially settled.
    Reconciled – All children are reconciled.
    Partially Reconciled – some children are partially reconciled.
    Null – 1 or more childen has a status of mismatched.
    AND sum of children amount should match parent amount
    How can I update the status of parent based on all children and sum of amount of children equal to parent amount.
    Thanks,
    Spunny

    >> We have 3 financial systems (sys1, sys2, sys3) where the same transaction gets entered independently into each system OR entered into one and exported to the other system. Transaction need not be in all 3 systems. <<
    Your design is fundamentally wrong. In RDBMS, we want to have one fact, one way, in one place in the schema. The goal of all databases is to remove redundancy, not increase it. This not just SQL; this was true for hierarchical and network databases before them! 
    >> We need to create reconcile report to see the status of transaction and display if it is reconciled or not. For this, in our stored procedure we are pulling data from 3 systems into temp tables and using CTE and other logic marking each transaction
    status in each system temp table. One of the systems (eg sys1), we made it as source. <<
    You have re-invent the worst of 1970's file processing, but you want to use a temp table instead of scratch tape. This is not RDBMS or good SQL. 
    >> Sys1 temp table has both parent [sic] and child [sic] records [sic] and are distinguished using type. Sys2 and sys3 has only children [sic] records [sic]. When report is created, we are showing parent from sys1 temp table and children from new temp
    table where children [sic] status is updated based on availability of it in all 3 systems. <, 
    The terms “child” and “parent” are not part of RDBMS. They come from network databases. You are building fake pointer chains we do have referenced and referencing tables. Or do you mean to model weak and strong entities? Where is the DRI actions?
    These things are not tables! They have no keys, so they are called (garbage) piles. But even the garbage is wrong. There is no generic “id” in RDBMS; it has to be “<something in particular>_id” to be valid. Since you do not do math on it, it should not
    be a numeric. 
    A “rec_type” is a nominal scale, so it cannot be a numeric either! Likewise, we have no generic “status”, but a status is state of being so it has to have a temporal dimension. And did you know that “reference” is a reserved word in SQL as well as another ISO-11179
    violation. 
    The MONEY data type does not do correct math. Google it! It is another Sybase left-over that nobody should ever use. 
    Finally, you used the old Sybase INSERT INTO ..SELECT..), .. disaster instead of the ANSI/ISO Standard VALUES table constructor. 
    >> This is how status of children [sic] is determined: ..
    My part is to update the status of parent [sic] based on children [sic] status and parent [sic] amount must match sum of child [sic] amounts.<<
    Your narrative describes what Tom Johnston called a Non-Normal Form Redundancy. We do not put summary data in the strong entity; another basic data modeling principle. We build a VIEW that gives us the current summary. Your mindset is still in punch cards and
    magnetic tape files. 
    "No matter how far you have gone down the wrong road, turn around!" -- Turkish proverb. 
    Can you start over and do it right? 
    --CELKO-- Books in Celko Series for Morgan-Kaufmann Publishing: Analytics and OLAP in SQL / Data and Databases: Concepts in Practice Data / Measurements and Standards in SQL SQL for Smarties / SQL Programming Style / SQL Puzzles and Answers / Thinking
    in Sets / Trees and Hierarchies in SQL

  • Creating a adf page based on webservice data control

    hello
    i am using latest version of jdev 11g from otn.
    i created a VO based on EO and define a view criteria as well. i added that to a AM and exposed it as web service and deployed to a wls server.
    now i wish to created a adf page based on it so i created a ws data control based on the wsdl.
    in the data control section now i see service as findSearchOrder. When i try to drop it on the page it created a adf form with two input boxes findControl and findCriteria.
    So, I am not able to understand how exactly these are going to map to the actual search parameters?
    Please advise

    If you want to retrieve all records, you can set them to null.
    But of course, it depends on what you want to archive (I suppose you want a search form?).
    Please give us your complete JDev version. (Help > About > About tab)

  • Creating a dynamic lov based on a column

    Hi,
    I want to create a dynamic lov based on a column in a database-table.
    Eg. the query
    'select code, description from code_table'
    is the contents of the column 'lov_query' in the table 'parameters'.
    For every parameter there can be a different lov-query, but the result is always
    two columns (code and description, number and name, etc.), exactly what you need to use in a lov.
    I've written a (dbms_sql) function that takes the parameter-id and returns the lov_query.
    create or replace function "GET_PMR_LOV"
    (pmr_id in NUMBER)
    return VARCHAR2
    is
    cur INTEGER := DBMS_SQL.OPEN_CURSOR;
    fdbk INTEGER;
    l_pmr_id NUMBER(9) := pmr_id;
    l_stmnt VARCHAR2(2000);
    begin
    DBMS_SQL.PARSE
    (cur, 'select pmr.lov_query from parameters pmr where pmr.ID ' || ' = 'L_PMR_ID', DBMS_SQL.NATIVE);
    DBMS_SQL.BIND_VARIABLE (cur, 'L_PMR_ID', l_pmr_id);
    DBMS_SQL.DEFINE_COLUMN (cur, 1, l_stmnt, 2000);
    fdbk := DBMS_SQL.EXECUTE (cur);
    fdbk := DBMS_SQL.FETCH_ROWS (cur);
    IF fdbk > 0
    THEN
    DBMS_SQL.COLUMN_VALUE (cur, 1, l_stmnt);
    return (l_stmnt);
    ELSE     
    return null;
    END IF;
    DBMS_SQL.CLOSE_CURSOR (cur);
    END;
    But now I'm stuck on how to pass on this statement in HTMLDB
    as an dynamic lov, I don't seem to be able to execute this statement
    into the two display and return columns. Any ideas?

    Hello again,
    This lov is on an updatable report-column where the user has to make a choice from an non-named, popup and query-based lov. In the lov-query box I have just put:
    "return get_pmr_lov(:p41_param_id)" (without the quotes ;-)
    Here's my latest version plus an alternative, which both seem to work fine:
    create or replace function "GET_PMR_LOV"
    (pmr_id in NUMBER)
    return VARCHAR2
    is
    cur INTEGER := DBMS_SQL.OPEN_CURSOR;
    fdbk INTEGER;
    l_pmr_id NUMBER(9) := pmr_id;
    l_stmnt VARCHAR2(1000);
    begin
    DBMS_SQL.PARSE (cur, 'select pmr.lov_query from paramaters pmr where pmr.ID ' || '= :L_PMR_ID', DBMS_SQL.NATIVE);
    DBMS_SQL.BIND_VARIABLE (cur, 'L_PMR_ID', l_pmr_id);
    DBMS_SQL.DEFINE_COLUMN (cur, 1, l_stmnt, 1000);
    fdbk := DBMS_SQL.EXECUTE (cur);
    fdbk := DBMS_SQL.FETCH_ROWS (cur);
    IF fdbk > 0 THEN
    DBMS_SQL.COLUMN_VALUE (cur, 1, l_stmnt);
    return (l_stmnt);
    ELSE
    return null;
    END IF;
    DBMS_SQL.CLOSE_CURSOR (cur);
    END;
    create or replace function "GET_PMR_LOV2"
    (pmr_id in NUMBER)
    return VARCHAR2
    is
    l_pmr_id NUMBER(9) := pmr_id;
    l_stmnt VARCHAR2(1000);
    BEGIN
    EXECUTE IMMEDIATE 'select pmr.lov_query from parameters pmr where pmr.ID = :1'
    INTO l_stmnt USING l_pmr_id;
    return l_stmnt;
    END;
    The error-message remains the same, unable to bind :p41_param_id !

  • Creating a target group based on the BP email address only in CRM

    Hi there,
    I am currently trying to create a target group based on the business partner email address only.
    I have a list of over 1000 email addresses - these email addresses equate to a BP in our CRM system, however I do not have a list of the equivalent business partner numbers, all I have to work on are the email addresses.  With these 1000 BP email addresses I need to update the marketing attributes of each of these 1000 BP records in CRM.
    What I need is a method to find the 1000 BP numbers based on the email addresses and then use the marketing expert tool (tx. CRMD_MKT_TOOLS) to change the marketing attributes on all of the 1000 BPs.
    The issue I am having is how can I find the list of BP numbers just based on the BP email address, I tried creating an infoset based on table BUT000, BUT020 and ADR6 but I after creating attribute list & data source for this I am stuck on what to do next. In the attribute list the selection criteria does not allow me to import a file for the selection range.  I can only enter a value but I have 1000 email addresses and cannot possibly email them manually in the filter for the attribute list.   I also looked at imported a file into the target group but I do not have any BP numbers so this will not work.
    Does anyone know a method where I can create a target group based on the email addresses only without having to do any code?
    Any help would be most appreciated.
    Kind regard
    JoJo

    Hi JoJo ,
    The below report will return you BP GUID from emails that is stored in a single column .xls file and assign the BP to a target group.
    REPORT  zexcel.
    * G L O B A L D A T A D E C L A R A T I O N
    TYPE-POOLS : ole2.
    TYPES : BEGIN OF typ_xl_line,
    email TYPE ad_smtpadr,
    END OF typ_xl_line.
    TYPES : typ_xl_tab TYPE TABLE OF typ_xl_line.
    DATA : t_data TYPE typ_xl_tab,
           lt_bu_guid TYPE TABLE OF bu_partner_guid,
           ls_bu_guid TYPE  bu_partner_guid,
           lt_guids TYPE TABLE OF bapi1185_bp,
           ls_guids TYPE  bapi1185_bp,
           lt_return TYPE bapiret2_t.
    * S E L E C T I O N S C R E E N L A Y O U T
    PARAMETERS : p_xfile TYPE localfile,
                  p_tgguid TYPE bapi1185_key .
    * E V E N T - A T S E L E C T I O N S C R E E N
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_xfile.
       CALL FUNCTION 'WS_FILENAME_GET'
         IMPORTING
           filename         = p_xfile
         EXCEPTIONS
           inv_winsys       = 1
           no_batch         = 2
           selection_cancel = 3
           selection_error  = 4
           OTHERS           = 5.
       IF sy-subrc <> 0.
         CLEAR p_xfile.
       ENDIF.
    * E V E N T - S T A R T O F S E L E C T I O N
    START-OF-SELECTION.
    * Get data from Excel File
       PERFORM sub_import_from_excel USING p_xfile
       CHANGING t_data.
       SELECT but000~partner_guid FROM but000 INNER JOIN but020 ON
    but000~partner =
       but020~partner
         INNER JOIN adr6 ON but020~addrnumber = adr6~addrnumber INTO TABLE
    lt_bu_guid FOR ALL ENTRIES IN t_data WHERE adr6~smtp_addr =
    t_data-email.
       CLEAR: lt_guids,ls_guids.
       LOOP AT lt_bu_guid INTO ls_bu_guid.
         ls_guids-bupartnerguid = ls_bu_guid.
         APPEND ls_guids TO lt_guids.
       ENDLOOP.
       CALL FUNCTION 'BAPI_TARGETGROUP_ADD_BP'
         EXPORTING
           targetgroupguid = p_tgguid
         TABLES
           return          = lt_return
           businesspartner = lt_guids.
    *&      Form  SUB_IMPORT_FROM_EXCEL
    *       text
    *      -->U_FILE     text
    *      -->C_DATA     text
    FORM sub_import_from_excel USING u_file TYPE localfile
    CHANGING c_data TYPE typ_xl_tab.
       CONSTANTS : const_max_row TYPE sy-index VALUE '65536'.
       DATA : l_dummy TYPE typ_xl_line,
              cnt_cols TYPE i.
       DATA : h_excel TYPE ole2_object,
              h_wrkbk TYPE ole2_object,
              h_cell TYPE ole2_object.
       DATA : l_row TYPE sy-index,
              l_col TYPE sy-index,
              l_value TYPE string.
       FIELD-SYMBOLS : <fs_dummy> TYPE ANY.
    * Count the number of columns in the internal table.
       DO.
         ASSIGN COMPONENT sy-index OF STRUCTURE l_dummy TO <fs_dummy>.
         IF sy-subrc EQ 0.
           cnt_cols = sy-index.
         ELSE.
           EXIT.
         ENDIF.
       ENDDO.
    * Create Excel Application.
       CREATE OBJECT h_excel 'Excel.Application'.
       CHECK sy-subrc EQ 0.
    * Get the Workbook object.
       CALL METHOD OF h_excel 'Workbooks' = h_wrkbk.
       CHECK sy-subrc EQ 0.
    * Open the Workbook specified in the filepath.
       CALL METHOD OF h_wrkbk 'Open' EXPORTING #1 = u_file.
       CHECK sy-subrc EQ 0.
    * For all the rows - Max upto 65536.
       DO const_max_row TIMES.
         CLEAR l_dummy.
         l_row = l_row + 1.
    * For all columns in the Internal table.
         CLEAR l_col.
         DO cnt_cols TIMES.
           l_col = l_col + 1.
    * Get the corresponding Cell Object.
           CALL METHOD OF h_excel 'Cells' = h_cell
             EXPORTING #1 = l_row
             #2 = l_col.
           CHECK sy-subrc EQ 0.
    * Get the value of the Cell.
           CLEAR l_value.
           GET PROPERTY OF h_cell 'Value' = l_value.
           CHECK sy-subrc EQ 0.
    * Value Assigned ? pass to internal table.
           CHECK NOT l_value IS INITIAL.
           ASSIGN COMPONENT l_col OF STRUCTURE l_dummy TO <fs_dummy>.
           <fs_dummy> = l_value.
         ENDDO.
    * Check if we have the Work Area populated.
         IF NOT l_dummy IS INITIAL.
           APPEND l_dummy TO c_data.
         ELSE.
           EXIT.
         ENDIF.
       ENDDO.
    * Now Free all handles.
       FREE OBJECT h_cell.
       FREE OBJECT h_wrkbk.
       FREE OBJECT h_excel.
    ENDFORM. " SUB_IMPORT_FROM_EXCEL
    Just copy paste the code and run the report select any local xls file with emails and pass the target group guid.
    snap shot of excel file:
    Let me know if it was useful.

  • Creating a BC4J EO Based on Stored Proc w/DB assigned PK using Seq/Trigge

    BC4J Code-o-philes;
    Using Steven Muench article "Creating a BC4J Entity Object Based on Stored Procedures" (HOWTO: Basing BC4J Entity on Stored Procedure as a starting point, I would like to modify that example to use a Stored Procedure where the Primary Keys of the Department Table are assigned by a DB Sequence/Before trigger. I already have the stored procedure and sequence/trigger working fine in SQL*Plus.
    The assumption I have is that code below needs to be modified, but I'm not sure exactly what need to be done to retreive the DB assigned PK.
    Lastly, I think that JDeveloper should be doing this automatically, maybe next release?
    Bill G...
    void handleStoredProcInsert() {
    CallableStatement st = null;
    try {
    String stmt = "BEGIN hr.do_insert(?,?,?); END;";
    DBTransaction tr = getDBTransaction();
    st = tr.createCallableStatement(stmt,1);
    /* st.setLong(1,getDepartmentId().longValue()); */
    st.registerOutParameter(3,Types.NUMERIC);
    if (getDepartmentName() != null) {
    st.setString(1,getDepartmentName());
    else {
    st.setNull(1,Types.VARCHAR);
    if (getLocationId() != null) {
    st.setLong(2,getLocationId().longValue());
    else {
    st.setNull(2,Types.VARCHAR);
    int rows = st.executeUpdate();
    Long newId = new Long(st.getLong(3));
    populateAttributeAsChanged(DEPARTMENTID, new DBSequence(newId));
    catch (SQLException s) {
    throw new JboException(s);
    finally {
    try {
    if (st != null) st.close();
    catch (SQLException s) { /* ignore */}

    ARGHHHHHHHHHHHHHH!
    I've change the line
    st.setLong(1,getDepartmentId().longValue());
    to
    st.setLong(1,getSequenceNumber().longValue());
    And I'm still getting Error(303,20): method getSequenceNumber not found in class stproc.DepartmentsImpl.
    even though i've imported "oracle.jbo.domain.DBSequence;"
    The code below is taken from the BC4J StoredProc sample and is what I want to modify to get it working with DB/Triggers.
    BG...
    package stproc;
    import java.math.BigDecimal;
    import java.lang.Math;
    import java.sql.CallableStatement;
    import java.sql.SQLException;
    import java.sql.Types;
    import oracle.jbo.JboException;
    import oracle.jbo.Key;
    import oracle.jbo.RowInconsistentException;
    import oracle.jbo.RowIterator;
    import oracle.jbo.domain.Number;
    import oracle.jbo.server.AttributeDefImpl;
    import oracle.jbo.server.DBTransaction;
    import oracle.jbo.server.EntityDefImpl;
    import oracle.jbo.server.EntityImpl;
    import oracle.jbo.server.TransactionEvent;
    import oracle.jbo.AlreadyLockedException;
    import oracle.jbo.domain.DBSequence;
    // --- File generated by Oracle Business Components for Java.
    public class DepartmentsImpl extends EntityImpl
    protected static final int DEPARTMENTID = 0;
    protected static final int DEPARTMENTNAME = 1;
    protected static final int LOCATIONID = 2;
    private static EntityDefImpl mDefinitionObject;
    * This is the default constructor (do not remove)
    public DepartmentsImpl()
    * Retrieves the definition object for this instance class.
    public static synchronized EntityDefImpl getDefinitionObject()
    if (mDefinitionObject == null)
    mDefinitionObject = (EntityDefImpl)EntityDefImpl.findDefObject("stproc.Departments");
    return mDefinitionObject;
    * Gets the attribute value for DepartmentId, using the alias name DepartmentId
    public DBSequence getDepartmentId()
    return (DBSequence)getAttributeInternal(DEPARTMENTID);
    * Sets <code>value</code> as the attribute value for DepartmentId
    public void setDepartmentId(DBSequence value)
    setAttributeInternal(DEPARTMENTID, value);
    * Gets the attribute value for DepartmentName, using the alias name DepartmentName
    public String getDepartmentName()
    return (String)getAttributeInternal(DEPARTMENTNAME);
    * Sets <code>value</code> as the attribute value for DepartmentName
    public void setDepartmentName(String value)
    setAttributeInternal(DEPARTMENTNAME, value);
    * Gets the attribute value for LocationId, using the alias name LocationId
    public Number getLocationId()
    return (Number)getAttributeInternal(LOCATIONID);
    * Sets <code>value</code> as the attribute value for LocationId
    public void setLocationId(Number value)
    setAttributeInternal(LOCATIONID, value);
    // Generated method. Do not modify.
    protected Object getAttrInvokeAccessor(int index, AttributeDefImpl attrDef) throws Exception
    switch (index)
    case DEPARTMENTID:
    return getDepartmentId();
    case DEPARTMENTNAME:
    return getDepartmentName();
    case LOCATIONID:
    return getLocationId();
    default:
    return super.getAttrInvokeAccessor(index, attrDef);
    // Generated method. Do not modify.
    protected void setAttrInvokeAccessor(int index, Object value, AttributeDefImpl attrDef) throws Exception
    switch (index)
    case DEPARTMENTID:
    setDepartmentId((DBSequence)value);
    return;
    case DEPARTMENTNAME:
    setDepartmentName((String)value);
    return;
    case LOCATIONID:
    setLocationId((Number)value);
    return;
    default:
    super.setAttrInvokeAccessor(index, value, attrDef);
    return;
    protected void doSelect(boolean lock) {
    if (lock) {
    this.handleStoredProcLock();
    else {
    this.handleStoredProcSelect();
    public void doDML(int operation, TransactionEvent e) {
    switch (operation) {
    case DML_INSERT: {
    handleStoredProcInsert();
    break;
    case DML_UPDATE: {
    handleStoredProcUpdate();
    break;
    case DML_DELETE: {
    handleStoredProcDelete();
    break;
    void handleStoredProcSelect() {
    CallableStatement st = null;
    try {
    String stmt = "BEGIN hr.do_select(?,?,?); END;";
    DBTransaction tr = getDBTransaction();
    st = tr.createCallableStatement(stmt,1);
    /* st.setLong(1,getDepartmentId().longValue()); */
    st.registerOutParameter(2,Types.VARCHAR);
    st.registerOutParameter(3,Types.NUMERIC);
    int rows = st.executeUpdate();
    populateAttribute(DEPARTMENTNAME,st.getString(2),true,false);
    populateAttribute(LOCATIONID,st.getBigDecimal(3),true,false);
    catch (SQLException s) {
    throw new JboException(s);
    finally {
    try {
    if (st != null) st.close();
    catch (SQLException s) { /* ignore */}
    void handleStoredProcDelete() {
    CallableStatement st = null;
    try {
    String stmt = "BEGIN hr.do_delete(?); END;";
    DBTransaction tr = getDBTransaction();
    st = tr.createCallableStatement(stmt,1);
    /* st.setLong(1,getDepartmentId().longValue()); */ // bg mod
    st.registerOutParameter(1,Types.NUMERIC); // bg add
    int rows = st.executeUpdate();
    catch (SQLException s) {
    throw new JboException(s);
    finally {
    try {
    if (st != null) st.close();
    catch (SQLException s) { /* ignore */}
    void handleStoredProcInsert() {
    CallableStatement st = null;
    try {
    String stmt = "BEGIN hr.do_insert(?,?,?); END;";
    DBTransaction tr = getDBTransaction();
    st = tr.createCallableStatement(stmt,1);
    /* st.setLong(1,getDepartmentId().longValue()); */ // bg mod
    st.registerOutParameter(3,Types.NUMERIC);
    if (getDepartmentName() != null) {
    st.setString(1,getDepartmentName());
    else {
    st.setNull(1,Types.VARCHAR);
    if (getLocationId() != null) {
    st.setLong(2,getLocationId().longValue());
    else {
    st.setNull(2,Types.VARCHAR);
    int rows = st.executeUpdate();
    Long newId = new Long(st.getLong(3));
    populateAttributeAsChanged(DEPARTMENTID, new DBSequence(newId));
    catch (SQLException s) {
    throw new JboException(s);
    finally {
    try {
    if (st != null) st.close();
    catch (SQLException s) { /* ignore */}
    void handleStoredProcUpdate() {
    CallableStatement st = null;
    try {
    String stmt = "BEGIN hr.do_update(?,?,?); END;";
    DBTransaction tr = getDBTransaction();
    st = tr.createCallableStatement(stmt,1);
    /* st.setLong(1,getDepartmentId().longValue()); */ // bg mod
    /* dbSeqVal.getSequenceNumber().longValue() */
    st.setLong(1,getSequenceNumber().longValue());
    if (getDepartmentName() != null) {
    st.setString(2,getDepartmentName());
    else {
    st.setNull(2,Types.VARCHAR);
    if (getLocationId() != null) {
    st.setLong(3,getLocationId().longValue());
    else {
    st.setNull(3,Types.VARCHAR);
    int rows = st.executeUpdate();
    catch (SQLException s) {
    throw new JboException(s);
    finally {
    try {
    if (st != null) st.close();
    catch (SQLException s) { /* ignore */}
    void handleStoredProcLock() {
    CallableStatement st = null;
    try {
    String stmt = "BEGIN hr.do_lock(?,?,?); END;";
    DBTransaction tr = getDBTransaction();
    st = tr.createCallableStatement(stmt,1);
    /* st.setLong(1,getDepartmentId().longValue()); */ // bg mod
    st.registerOutParameter(2,Types.VARCHAR);
    st.registerOutParameter(3,Types.NUMERIC);
    int rows = st.executeUpdate();
    String newDname = st.getString(2);
    BigDecimal newLoc = st.getBigDecimal(3);
    // Compare the old values to the current values to
    // detect if row has changed.
    compareOldAttrTo(DEPARTMENTNAME,newDname);
    compareOldAttrTo(LOCATIONID,newLoc);
    catch (SQLException s) {
    if (Math.abs(s.getErrorCode())==54) {
    throw new AlreadyLockedException(s);
    else {
    throw new JboException(s);
    finally {
    try {
    if (st != null) st.close();
    catch (SQLException s) { /* ignore */}
    void compareOldAttrTo(int slot, Object newVal) {
    if ((getPostedAttribute(slot) == null && newVal != null) ||
    (getPostedAttribute(slot) != null && newVal == null) ||
    (getPostedAttribute(slot) != null && newVal != null &&
    !getPostedAttribute(slot).equals(newVal))) {
    throw new RowInconsistentException(createPrimaryKey(getDepartmentId()));
    * Creates a Key object based on given key constituents
    public static Key createPrimaryKey(DBSequence departmentId)
    return new Key(new Object[] {departmentId});
    }

  • How to creat a Data provider  based on different fields in SAP BW ?

    Hi,
    Experts,
    There are  20 fields  of  Plant Maintainace  like : 
    SWERK
    BEBER
    STORT
    TPLNR
    EQUNR
    INGRP
    QMDAT   ---peroid
    STTXT
    QMDAT  - Date of Notification
    QMNUM
    QMTXT
    QMART
    AUSVN
    AUZTV
    AUSBS
    AUZTB
    AUSZT
    ERNAM
    QMDAB
    AUFNR
    I  want to creat a  Report based upon these fields  ?
    For that I h'v  checked the relevant Fields to the   existing standard  Datasource  in Bw side   &
    Checked  cubes   created  based upon these Datasource  in Bw side !
    i h'v found  some fields are  existing different cubes & some are  missing .
    How to creat a Data provider  based on different fields in SAP BW ?
    plz suggest      !!!!!!!
    Thanx,
    Asit
    Edited by: ASIT_SAP on Jul 15, 2011 6:25 AM
    Edited by: ASIT_SAP on Jul 15, 2011 6:27 AM
    Edited by: ASIT_SAP on Jul 15, 2011 12:37 PM

    Hi Lee, Please see below..
    DECLARE @Machine2 TABLE
    DispatchDate DATE
    INSERT INTO @Machine2 VALUES ('2014/02/01'), ('2014/02/02'), ('2014/02/03')
    DECLARE @DateFrom DATE
    SELECT @DateFrom = DATEADD(D,1,MAX(DispatchDate)) FROM @Machine2
    SELECT @DateFrom AS DateFrom
    Please mark as answer, if this has helped you solve the issue.
    Good Luck :) .. visit www.sqlsaga.com for more t-sql code snippets and BI related how to articles.

  • Dynamically creating a Record Group based on Previously entered Record Grou

    Forms [32 Bit] Version 10.1.2.3.0 (Production)
    Hi,
    I know how to dynamically create a record group based on a query and putting the code in When new form instance.
    My query is. I have a form which has multiple Record Groups and the user wants to dynamically create subsequent groups based on previous groups.
    For example
    I have a record group with selects a Location,
    when the user selects the Location from a list of values
    the 2nd record group called 'Cost Centres' will have to filter out only those with the locations selected above.
    How can I populate the 2nd record group at run-time when I do not know what site the user will select?
    If I simply populate in when new form instance as in location and just select everything, the list of values populates.
    CC field is a LIST ITEM and the list style is a POP LIST, it is not required.
    I have put the code in the Location field in the when-list-changed trigger.
    I am getting this error:
    frm-41337: cannot populate the list from the record group
    here is the code:
    DECLARE
    v_recsql Varchar2(1000); -- The SQL for creating the Record Group.
    v_recgrp RecordGroup; -- Record Group
    v_status Number; -- Return Value of Populate_Group function.
    c_where VARCHAR2(1000);
    BEGIN
         IF :location = '1' THEN
              c_where := ' substr(cost_centre,1,2) in (''01'',''02'')';
         ELSIF :location  = '2' THEN
              c_where := ' substr(cost_centre,1,2) in (''02'',''03'')';
         ELSIF :location   = '3' THEN
              c_where := ' substr(cost_centre,1,2) in (''01'',''11'',''07'')';
                   ELSE
              c_where :=  ' 1=1'; --EVERYTHING
         END IF;
    v_recsql := 'SELECT cost_centre, description  FROM   cost_centres  where '||c_where;
    -- Create the Record Group
    v_recgrp := CREATE_GROUP_FROM_QUERY('v_recgrp', v_recsql);
    IF NOT ID_NULL(v_recgrp)
    THEN -- No Error, record group has been successfully created.
    -- Populate Record Group
    v_status := POPULATE_GROUP('v_recgrp');
    IF v_status = 0
    THEN -- No Error. Record Group has been Populated.
    POPULATE_LIST('block.CC', 'v_recgrp');
    END IF; -- IF v_status = 0
    -- Delete the Record Group as it is no longer needed.
    DELETE_GROUP('v_recgrp');
    END IF; -- IF NOT ID_NULL(v_recgrp)
    END;thanks for your assistance.

    Hi,
    Once record status gets change for block you can not populate/repopulate the list item. Keep those list items as non-database item with different names and create different items as database orignal items. Than assign the values in WHEN-LIST-CHANGE trigger to the actual database items.
    -Ammad

  • BAPI to create SNP planned order based on start date

    Hi,
    I am looking for a BAPI to create SNP planned order based on the order start date. There is BAPI BAPI_MOSRVAPS_CREATESNPORDER which can be used to create SNP planned order based on the end date but not based on the start date.
    Also would be great if some one can share how do they create SNP Planned orders using BAPI BAPI_MOSRVAPS_CREATESNPORDER in case if GR processing time is defined in the product master and workdays for GR to be respected according to the calendar.
    Regards,
    Venkat

    Hello Mr.Venkat,
    Hope you recognize me.
    Please check out the BAdi below.
    BAdi - APO_BAPI_BUS10503 (this is the BAdi for ManufactOrderAPS  BAPI which contains the SNPorder BAPI)
    Method - CHANGE_SAVEMULTIPLE2
    In this method parameter IT_ORDER_HEAD contains Order start date input option.
    For GR time please check this (not sure if it will help).
    Same BAdi/ same method
    Parameter IV_PLANNING_MODE_USAGE contains field PLANNING_MODE.
    Value 1 for PLANNING_MODE corresponds to "Observance of parameters from the product master".
    This may make it respect the GR time in product master
    Good luck with the above
    Regards,
    Ashok

  • Create an external table based on an XML file

    Hi ,
    I am trying to create an external table based on XML file .Is it possible to do in OWB ?If Yes .Can someone please let me know the same .
    I was successfully able to create an external table based on a flat file which is of the extension *.txt.
    I was even able to load an XML file to a normal
    table .How do we do it to an external table?
    Thanks,
    Manjula

    Hello Manjula,
    Is it possible for you to spare sometime to list down the steps to be followed for creating External Table using flat file *.txt?
    I am trying to do it but not getting through it.
    Thanks in Advance,
    Ripesh

  • How can i create a dynamic structure based on my input from a select-option

    Hello,
    This is to develop a custom report in FI for G/L Balance based on company code.
    I have an input select-option for Company code.
    Based on the range of company code my output layout should be modified.
    I am not very much sure to create a dynamic internal based on the input from a select-option.
    Can any one please let me know how can i do this.
    I would appreciate for anyone who turns up quickly.
    Thank you,
    With regs,
    Anitha Joss.

    See the following program, it builds a dynamic internal table based on the company codes from the select option. 
    report zrich_0001 .
    type-pools: slis.
    field-symbols: <dyn_table> type standard table,
                   <dyn_wa>.
    data: alv_fldcat type slis_t_fieldcat_alv,
          it_fldcat type lvc_t_fcat.
    data: it001 type table of t001 with header line.
    selection-screen begin of block b1 with frame title text-001.
    select-options: s_bukrs for it001-bukrs.
    selection-screen end of block b1.
    start-of-selection.
      select * into table it001 from t001
                     where bukrs in s_bukrs.
      perform build_dyn_itab.
    *  Build_dyn_itab
    form build_dyn_itab.
      data: index(3) type c.
      data: new_table type ref to data,
            new_line  type ref to data,
            wa_it_fldcat type lvc_s_fcat.
      clear wa_it_fldcat.
      wa_it_fldcat-fieldname = 'PERIOD' .
      wa_it_fldcat-datatype = 'CHAR'.
      wa_it_fldcat-intlen = 6.
      append wa_it_fldcat to it_fldcat .
      loop at it001.
        clear wa_it_fldcat.
        wa_it_fldcat-fieldname = it001-bukrs .
        wa_it_fldcat-datatype = 'CHAR'.
        wa_it_fldcat-intlen = 4.
        append wa_it_fldcat to it_fldcat .
      endloop.
    * Create dynamic internal table and assign to FS
      call method cl_alv_table_create=>create_dynamic_table
                   exporting
                      it_fieldcatalog = it_fldcat
                   importing
                      ep_table        = new_table.
      assign new_table->* to <dyn_table>.
    * Create dynamic work area and assign to FS
      create data new_line like line of <dyn_table>.
      assign new_line->* to <dyn_wa>.
    endform.
    Regards,
    Rich Heilman

  • How to create internal table dynamically based on a table entry

    hi Experts,
      I have table yprod_cat. It has product categories.
      In my ABAP program I need to create internal table dynamically based on the number of entries in the table.
      For example:
      If the table has 3 entries for product category
      1. Board
      2. Micro
      3. Syst
    Then create three (3) internal tables.
    i_board
    i_micro
    i_syst
    How can we do this? Any sample code will be very usefull
    Thanks & Regards
    Gopal
    Moderator Message: No sample codes can be given. Please search for them or work it!
    Edited by: kishan P on Jan 19, 2011 4:22 PM

    Our APEX version is 4.2We are using below SQL query to display radio groups dynamically..
    SELECT APEX_ITEM.RADIOGROUP (1,deptno,'20',dname) dt
    FROM dept
    ORDER BY 1;
    Created a form using SQL type and given abouve SQL query as source.. But when we run the page, there were no radio groups displayed in the page..
    Below is the output of the query..
    <input type="radio" name="f01" value="10" />ACCOUNTING
    <input type="radio" name="f01" value="20" checked="checked" />RESEARCH
    <input type="radio" name="f01" value="30" />SALES
    <input type="radio" name="f01" value="40" />OPERATIONS
    >
    If Tabular Form:
    Edit Region > Report Attributes > Edit Column > Change the Column type to "Standard Report Column"
    If normal Page Item:
    Edit Page Item > Security > Escape special characters=No.
    Pl read the help on that page item to understand the security risk associated with =NO.
    Cheers,
    Edited by: Prabodh on Dec 3, 2012 5:59 PM

  • Create an AP Invoice based on a Purchase Order using SDK

    Hi,
    What are the steps to create an AP Invoice based on a Purchase Order using DI API?
    Which methods of which objects to use and what parameters to pass?
    Thanks.

    Hi Rajesh,
    Here is a sample to create an Invoice based on a Sales Order. The same way you can change as per your requirement:
    SAPbobsCOM.Documents oInvoice = default(SAPbobsCOM.Documents);
                oInvoice = (SAPbobsCOM.Documents)SBO_Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oInvoices);
                oInvoice.CardCode = "C000003";
                oInvoice.DocDueDate = DateAndTime.Now;
                oInvoice.Lines.BaseType = Convert.ToInt32(SAPbobsCOM.BoObjectTypes.oOrders);
               oInvoice.Lines.BaseEntry = Convert.ToInt32(3616);
               oInvoice.Lines.BaseLine = 1;
                oInvoice.Lines.Quantity = 3;
                oInvoice.Lines.Add();
                oInvoice.Lines.BaseType = Convert.ToInt32(SAPbobsCOM.BoObjectTypes.oOrders);
                oInvoice.Lines.BaseEntry = Convert.ToInt32(3616);
                oInvoice.Lines.BaseLine = 2;
                int kth = 0;
                kth = oInvoice.Add();
                if (kth != 0)
                    int irrcode;
                    string errmsg;
                    SBO_Company.GetLastError(out irrcode, out errmsg);
                    Program.oMainSAPDI.ShowMessage(errmsg, BoStatusBarMessageType.smt_Error);
    The main thing to remember is Base Type, Based Entry and Base Line.
    Hope it helps.
    Thanks & Regards
    Ankit Chauhan

  • Can I create a parent category for a series of categories?

    I have created a list of construction works in categories with subtotals for each article.
    Can I create a parent category for a selection of categories?
    For example:
    categories:
    - masonry
    - windows
    - plumbing
    each with subtotals.
    Now I want to create a parent categorie: - house #1, with a total of all subtotals

    Yes, using the Reorganize control. It's done in the opposite order though—create the (parent) category, then create the subcategories.
    Detailed instructions are available in Chapter 3, Using Tables, of the Numbers '09 User Guide. The guide may be downloaded through the Help menu in Numbers. A search on 'categories' will take you to the TOC page where you can click to go directly to the discussion of Categories and Sub categories.
    Regards,
    Barry

Maybe you are looking for