Transfer elements between 2 base table forms.

Environment
OS: WinXP
Oracle 10g (9.0.4.0.0) Developer suite
Scenario:
2 base table forms
Form1 is based on table1 and has 10 elements
Form1 has a button which when triggered, causes 5 of the 10 elements to be inserted in table2
Form2 is based on table2 and has 10 elements 5 of which are obtained from Form1
When I do a query-execute in Form2 to pull all the records, only records that were entered through Form2 show up. The transferred elements (record) from Form1 are not pulled up.
When I do a query->enter and search for records in Form2 that were transferred from Form1, I receive a FMR-40301 Query caused no records to be retrieved. Re-enter.
However the records transferred from Form1 are pulled up if I run a sql in the Database.
Please advice.
Here is the code that is triggered when button is pressed in Form1 to transfer elements to form2.
DECLARE
     raiDate               RAI_PROPOSAL.STAMP1%TYPE;
     raiTime RAI_PROPOSAL.STAMP2%TYPE;
     sPropNo               RAI_PROPOSAL.PROP_NO%TYPE;
     selRec               RAI_PROPOSAL%ROWTYPE;
     CURSOR getProp(propNo IN RAI_PROPOSAL.PROP_NO%TYPE) IS
          SELECT      *
          FROM          RAI_PROPOSAL
          WHERE          RAI_PROPOSAL.PROP_NO = propNo;
BEGIN
     sPropNo := :RAI_PROPOSAL.PROP_NO;
     /* Open cursor and fetch selected row */
     IF( NOT (getProp%ISOPEN) )THEN
          OPEN getProp(sPropNo);
     END IF;
     FETCH getProp INTO selRec;
     CLOSE getProp;
     /* Get date and time of transfer */
     raiDate := sysdate();
     raiTime := TO_CHAR(sysdate(), 'hh24:mi:ss');
/* list all elements being transferred - all have values so NOT NULL fields are taken care of*/
MESSAGE(selRec.cdfa_no || ', ' || selRec.con_sub || ', ' || selRec.cs_amt || ', ' || selRec.cs_source || ', ' || selRec.dept_prdir || ', ' || selRec.dept_proj2 || ', ' || selRec.dept_proj3 || ', ' ||
selRec.human_subj || ', ' || selRec.initials || ', ' || selRec.prime_agre || ', ' || selRec.prodir_fn || ', ' || selRec.prodir_ln || ', ' || selRec.prodir2fn || ', ' || selRec.prodir2ln || ', ' || selRec.prodir3fn || ', ' || selRec.prodir3ln || ', ' ||      selRec.proj_type || ', ' ||     selRec.prop_date || ', ' || selRec.prop_no || ', ' ||
selRec.prop_title || ', ' || selRec.propr_info || ', ' || selRec.school || ', ' || selRec.sol_no || ', ' || selRec.spon_typ || ', ' || selRec.sponsor || ', ' || raiDate || ', ' || raiTime || ', ' || selRec.vert_anm);
     /* Insert selected proposal into award table */     
     INSERT INTO
     RAI_AWARD(CDFA_NO, CON_SUB, CS_AMT, CS_SOURCE,
               DEPT_PRDIR, DEPT_PROJ2, DEPT_PROJ3,
               HUMAN_SUBJ, INITIALS, PRIME_AGRE, PRODIR_FN, PRODIR_LN,
               PRODIR2FN, PRODIR2LN, PRODIR3FN, PRODIR3LN, PROJ_TYPE,
               PROP_DATE, PROP_NO, PROP_TITLE, PROPR_INFO, SCHOOL,
               SOL_NO, SPON_TYP, SPONSOR, STAMP1, STAMP2, VERT_ANM)
     VALUES(selRec.cdfa_no, selRec.con_sub, selRec.cs_amt, selRec.cs_source,
          selRec.dept_prdir, selRec.dept_proj2, selRec.dept_proj3,
          selRec.human_subj, selRec.initials, selRec.prime_agre, selRec.prodir_fn,
selRec.prodir_ln, selRec.prodir2fn, selRec.prodir2ln, selRec.prodir3fn, selRec.prodir3ln, selRec.proj_type, selRec.prop_date, selRec.prop_no, selRec.prop_title, selRec.propr_info, selRec.school, selRec.sol_no, selRec.spon_typ, selRec.sponsor, raiDate, raiTime, selRec.vert_anm);
     MESSAGE ('INSERTED');
     /* Commit the data inserted */
     FORMS_DDL('COMMIT');
END;

Hi,
Do you have radio buttons, a check box or a list item on your form?
I have seen this before. If the value queried from the database does not match the allowable values, the record is "silently rejected" and is not queried into the form. You say your records are in the database if you query table2 via SQL, but Forms is rejecting the records.
Look up the Forms Help for the topics "Creating a Record Group", or "Mapping of Other Values", or Search for the word "silently". It will say something like:
"Leave the Mapping of Other Values property blank to indicate that other values are not allowed for this item. Any queried record that contains a value that does not match one of the values associated with an element in the List is silently rejected. Any attempt to assign an other value is disallowed."
HTH.

Similar Messages

  • How to transfer data between two tables

    Hi friends i have got a new problem actually i'm a fresher in this SAP so i have a doubt in SAP Smart Forms the problem is like this
    I have a data element common in both of the tables BSEG and KNA1 and the common data element is KUNNR so i want to transfer all the data in the table BSEG to KNA1 of the same data element(KUNNR) in which there is data regarding customer information so i want to transfer the single customer data into another table KNA1 and i want to display the data in the output plz any one can help me.

    hi.
    the below metjhod u can adopt.
    1)
    select data from 1st zable to internal table.
    2)insert data from internal table to 2nd ztable simple.
    data:begin of itab occurs 0.
    include structure ztable_structure1.
    data:end of itab.
    select * from ztable into table itab.
    modify ztable1 FROM TABLE itab.
    3 ) ike that u can catch date from other table.
    4) if any condition is there u can check it in the internal table.
    Rgds
    Anver
    if hlped pls mark points

  • How to transfer data between different tables in an Oracle 10g databse?

    I have to do the following: there are 5 database tables in our Oracle 10g database that store certain data. Then there are 2 new tables where we want the data to go to. My task is to somehow transfer all the data that is in the first 5 tables and insert it in the 2 new ones. All tables are in the same database. The challenge lies in the fact that the structures of the tables are very dissimilar so it won't be a matter of a simple INSERT SQL query.
    The data access tier of our application is developed in JAVA. We use EJB. So one way I am thinking of doing the above mentioned data transfer is to simply code it in the JAVA backed. But that might be to slow, there are millions of records in those first 5 tables. What is the best way to do something like that? Perhaps a custom (Perl?) script or some such?
    Thanks.

    The problem is that the way the data is stored in the old tables you cannot write a query that would return it in such a format that you could immediately insert it in the new table without some formatting. Let me illustrate with an example. To pull the data from the old tables I use this query:
    SELECT
         SXML_DOCUMENT_DATA.VALUE As DocumentValue,
    SXML_ELEMENT.NAME As ElementName
    FROM
         SXML_DOCUMENT,
         SXML_DOCUMENT_DATA,
         SXML_DOCUMENT_DETAIL,
         SXML_ELEMENT,
         SXML_TYPE
    WHERE
         SXML_TYPE.XML_TYPE_KEY = SXML_DOCUMENT.XML_TYPE_KEY
    AND     SXML_DOCUMENT.XML_DOCUMENT_KEY = SXML_DOCUMENT_DETAIL.XML_DOCUMENT_KEY
    AND     SXML_DOCUMENT_DETAIL.XML_DOCUMENT_DETAIL_KEY = SXML_DOCUMENT_DATA.XML_DOCUMENT_DETAIL_KEY
    AND     SXML_ELEMENT.XML_ELEMENT_KEY = SXML_DOCUMENT_DATA.XML_ELEMENT_KEY
    AND     SXML_TYPE.NAME = 'DA_UNIT_COMMITMENT'
    AND     (SXML_ELEMENT.NAME = 'resource'
         OR SXML_ELEMENT.NAME = 'resourceType'
         OR SXML_ELEMENT.NAME = 'commitmentType'
         OR SXML_ELEMENT.NAME = 'startTime'
         OR SXML_ELEMENT.NAME = 'endTime'
         OR SXML_ELEMENT.NAME = 'schedulingCoordinator')
    ORDER BY
         SXML_DOCUMENT.NAME,
         SXML_DOCUMENT_DETAIL.XML_DOCUMENT_DETAIL_KEY,
         SXML_DOCUMENT_DATA.XML_DOCUMENT_DATA_KEY,
         SXML_ELEMENT.NAME;
    The results from the SQL query above look like this:
    DOCUMENTVALUE | ELEMENTNAME
    1 | ALAMIT_7_UNIT_1 | resource
    2 | GEN | resourceType
    3 | BRS8 | schedulingCoordinator
    4 | IFM | commitmentType
    5 | 2008-07-29T18:00:00:00 | startTime
    6 | 2008-07-30T00:00:00 | endTime
    7 | ALAMIT_7_UNIT_1 | resource
    8 | GEN | resourceType
    9 | BRS8 | schedulingCoordinator
    10 | IFM | commitmentType
    11 | 2008-07-29T00:00:00 | startTime
    12 | 2008-07-29T04:00:00 | endTime
    and so on. The type of data repeats every 6 records. And the values of each 6 records corresponds to 1 row in the new table, which looks like this:
    schedulingCoordinator | resource | resourceType | commitmentType | startDate | endDate
    1| 1 | 27 | GEN | IFM | 2008-07-29T18:00:00:00 | 2008-07-30T00:00:00
    2| 1 | 27 | GEN | | 2008-07-29T00:00:00 | 2008-07-29T04:00:00
    So hopefully now you see the challenge. It is not as simple as writing a SQL query that returns result rows corresponding 1 to 1 to a row in the new table. Somehow I need to take the first 6 result rows from that big SQL query and put them in the first row of the new table. Then the next 6 and put them in the second row and so on. And also, we are talking about millions of records. What happens if I process the first 2 million and then some error occurs? Do I start from the beginning again? One idea I have is to process the data in chunks, say process 500 results, commit, process another 500, commit, and so on.
    Edited by: 799984 on Oct 11, 2010 9:08 AM

  • Data transfer between 2 table views

    Dear Gurus
    Here is my scenario.
    I need to transfer data between 2 table views (Both these table views are having only column). These 2 tables are present in separate views (under same viewset).
    Now initially I need to display some data in one of the tables when I display the screen for the first time (this I was able to achieve). Now if I double-click on any row of this table,  I need to move the data present in that particular row to a different table present in the same screen.
    Here is what I have achieved.
    1) When I click on any row,  I was able to capture the row index and the corresponding data in that row.
    I put some code in the method EH_ONSELECT (present in the event handler) to get this working.
    Now my question is
    How can I move this captured data into a different table view?
    I tried investigating on some of the methods such as do_prepare_output. But I am left with no clue on what coding needs to be done here.
    Any help will be greatly appreciated.
    Thanks
    Raj

    Hi Raj,
    You can write the code in methods like DO_PREPARE_OUTPUT, but need to take adequate care of perfrormance as this method gets triggered for all server events.
    If you can identify any other method on the second view at an instance when you select rows on view1..
    that too is fine.
    You can get the selected entries from a context node collection wrapper method...
    DATA: lr_marked_line TYPE REF TO if_bol_bo_col.
    * Get the lines selected by the user
      lr_marked_line = me->typed_context->productcategory->collection_wrapper->get_marked( ).
    You can do a work around this way too...create an internal table attribute in the IMPL class of Custom Controller...Update it with the selceted rows in view1.
    Populate view2 with the values in this table by accessing them from Custom Controller.
    Code can be in DO_PREPARE_OUTPUT or some method that triggers at the point you select values in first row.
    Regards,
    Masood Imrani S.

  • Questions on scripts, tables & transfer objects between clients.

    1. In script, how to use the same print program for two different layouts? with procedure.!
    2. Why cant sapscripts be client independent.?
    3. Want to maintain a table in dev server and if i update the data, it should simultanously update in Quality and Production servers. How? please explain in details.
    4. How to transfer object between clients.? explain.
    Points will be promptly rewarded for HELPFULL answers.!

    Hi!
    3. With SE01, you can create a transport request for all table entries.
    SE01 - Create button - Workbench request - Give description and save
    Select the created request and click on Display object list.
    Click on Display - Change button
    Insert line button
    ProgID: R3TR
    Object: TABU
    Object name: Z_YOUR_TABLE
    Double click on the table name
    Insert line
    Key: *
    Save everything
    Release the transport in SE10 transaction and transport with STMS transaction.
    Regards
    Tamá

  • Tabular form with non base table field

    I want to develop a tabular form with
    1. A non-base table edit field to accept a value
    2. Insert/update another table based on the input value
    3. Also, computed field on each row based on other fields on the records (like post-query trigger in oracle forms at block level - for each row)
    Thanks,
    Rachna

    Thanks for your reply.
    Varad, I like the link you sent me. It has a lot of good information.
    I created a process (under page processing) called "Update/Insert Process" that dosn't seem to be working.
    Question, I created a manual tabular form with SQL Query and created a process (under page processing) called "Update/Insert Process", then I check for each record in the tabular form. If the old value <> new value then I update/insert in the new table.
    Any step by step will be highly apprciated - to create process/validation etc.
    Thanks,
    Rachna

  • Use of base table concept in form developer

    can i get any white paper on use of base table concept in form developer.

    have a look at the quick tours in the online help they will show you how to do it.

  • Calculated non-base table field in a tabular form

    I am struggling with creating a non-base table calculated field in a tabular form in ApEx 3.1
    Can you point me in the right direction
    I thought this would be fairly easy to do, but I cant work out how to do it
    Requirements
    1) Tabular Form based on a table with QTY and PRICE columns
    2) TOTAL is a non-base table field, based on QTY * PRICE
    3) If the Qty or Price changes, the TOTAL should be re-calculated
    Example
    QTY   PRICE  TOTAL
    ===    =====  =====
    3       5          15
    10      50         500
    20      3           60
    Environment
    ApEx 3.1, Oracle 10 and Oracle 11 databases
    I recommended to upgrade to a newer version of ApEx but the request was rejected so Im stuck with 3.1

    Thanks, but its not the solution that I am after
    I am looking for a solution that will ...
           1) not require the calculated value TOTAL to be stored in the table
    and 2) re-calculate the TOTAL when I modify the dependent values (QTY and PRICE) before I save the changes to the database
    I am still looking for a solution if anyone can help

  • Query on Non-base-table column in form

    Hi,
    Does anyone have an example of code to allow users to query on non-base-table column from forms? For example, a personnel form displays a persons' name and department name. The form is based on PERSON table, which contains the department id, not the name. The form uses post-query to display the department name. When in query mode, the user wants to enter department name, and display the people in the department (still using this form, which is based on PERSON table.
    Thanks!

    Try this:
    For data block person set these properties as follows:
    1.Set Query Data Source Name = "person , departments"
    2.Set DML data target name = "person"
    3.Set Where Clause to join i.e. condition "person.dno = departments.dno"
    For filed department name set these properties as follows:
    1.Data base item = "Yes"
    2.Column Name = "departments.dname"
    3.Query Only = "Yes"
    4.Insert Allowed = "No"
    5.Update Allowed= "No"
    6.Keyboard Navigable = "No"
    If you face ambiguous column name check for the same filed name exist on both tables and set column name for this filed to person.filed_name
    Regards
    null

  • Sorting by non-base table fields in Oracle Forms

    I have a form with a block that associated with a table.
    There are several base table fields and several non-base table fields displaying information in this block.
    I need to sort the data in this block by non-base table fields.
    Is this possible without rewriting the form so that the block is not associated with a base table, and then manually populating the block?

    Hi mark
    You could do the following
    Create a database function on the server,
    The function should return the value that you want to order by.
    In your form update the ORDER BY clause to use the function
    Example:
    Assume you have a block base on the employee table,
    and you want to order by the department name not the department no (The employee table only contains the department no)
    The function will be
    CREATE OR REPLACE FUNCTION "TEST_ORDER" (pDEPT_NO NUMBER) RETURN VARCHAR2 AS
    DptName VARCHAR2(100);
    BEGIN
    SELECT DEPT_NAME
    INTO DptName
    FROM DEPT
    WHERE DEPT_NO = pDEPT_NO;
    RETURN DptName;
    END;
    The form block ORDER BY Clause will be
    TEST_ORDER(DEPT_NO)
    Hope this will solve your problem
    Regards

  • Tables Form element

    Hi Experts,
    Is it possible to create Table using Table Form element - in which I need a repeating text row for every line items (row).
    I can create the same using a repeatable subform - therefore want to know whether the same is possible in Tables Form element using Table assistant.
    Regards,
    Rohit

    I have found an acceptable workaround, where I don't have to update the HTML form.
    Basically, don't use the $_POST superglobal. Instead, access the raw post data with file_get_contents("php://input"); and parse the name/value pairs in a couple steps with explode().
    This way our HTML form which has a couple submit buttons can submit the form to both the PL/SQL action procedure and a PHP script without getting too ugly.
    If you're coding an HTML form which only submits to a PHP script, best to live the constraint that PHP wants multiple value inputs to be named like a PHP array.

  • How to stored data after clicking checkbox in data base table

    REPORT  ZT                                      .
    TYPE-pools: slis.
    tables:mkpf,mseg,mard,COWB_COMP,ZTABLE.
    Types:BEGIN OF tp_data,
         mblnr LIKE mseg-mblnr,
         matnr LIKE mseg-matnr,
         werks LIKE mard-werks,
         lgort LIKE mard-lgort,
         lgpbe LIKE mard-lgpbe,
         charg LIKE mseg-charg,
         bwart LIKE mseg-bwart,
         budat LIKE mkpf-budat,
         menge LIKE mseg-menge,
         meins LIKE mseg-meins,
         kostl LIKE mseg-kostl,
         aufnr LIKE mseg-aufnr,
         rsnum LIKE mseg-rsnum,
         endkz like COWB_COMP-endkz,
    END OF tp_data,
    tp_tbl_data TYPE STANDARD TABLE OF tp_data.
    MODIFIED*******************
    DATA: WA TYPE TP_DATA.
    MODIFIED*******************
    *data: t_data like Y00_MM_ISSUE_DAT occurs 0 with header line.
    Constants
    Data objects (variable declarations and definitions)
    Report data to be shown.
    DATA: it_data TYPE STANDARD TABLE OF tp_data.
    MODIFIED*******************
    DATA : V_REPID LIKE SY-REPID.
    MODIFIED*******************
    Heading of the report.
    DATA: t_heading TYPE slis_t_listheader.
    *========================== Selection Screen
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS:smblnr FOR mseg-mblnr MODIF ID m1,
                  smatnr FOR mseg-matnr MODIF ID m2,
                  swerks FOR mard-werks MODIF ID m3,
                  slgort FOR mard-lgort MODIF ID m4,
                  slgpbe FOR mard-lgpbe MODIF ID m5,
                  scharg FOR mseg-charg MODIF ID m6,
                  sbwart FOR mseg-bwart MODIF ID m7,
                  skostl FOR mseg-kostl MODIF ID m8,
                  saufnr FOR mseg-aufnr MODIF ID m9,
                  srsnum FOR mseg-rsnum MODIF ID m10.
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
    PARAMETERS:pre RADIOBUTTON GROUP radi USER-COMMAND ucomm DEFAULT 'X',
              pse RADIOBUTTON GROUP radi,
              bps RADIOBUTTON GROUP radi.
    SELECTION-SCREEN END OF BLOCK b2.
    SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-003.
    PARAMETER:layout TYPE i.
    SELECTION-SCREEN END OF BLOCK b3.
    MODIFIED*******************
    INITIALIZATION.
    V_REPID = sy-repid.
    MODIFIED*******************
    *=========================== Event Blocks
    AT selection-SCREEN.
    start-OF-selection.
    PERFORM get_data USING it_data.
    END-OF-selection.
    PERFORM build_alv USING it_data t_heading.
    *=========================== Subroutines
    *&      Form  get_data
          Gets the information to be shown in the report.
    FORM get_data USING t_data TYPE tp_tbl_data.
    SELECT msegmblnr msegmatnr mardwerks mardlgort mard~lgpbe
    msegcharg msegbwart mkpf~budat
       msegmenge  msegmeins msegkostl msegaufnr mseg~rsnum
    INTO CORRESPONDING FIELDS OF TABLE t_data
    FROM mseg
    JOIN mard ON mardmatnr EQ msegmatnr
                  JOIN mkpf ON msegmblnr EQ mkpfmblnr
                  WHERE mseg~matnr IN smatnr.
    ENDFORM.                    " get_data
    *&      Form  build_alv
          Builds and display the ALV Grid.
    FORM build_alv USING t_data TYPE tp_tbl_data
         t_heading  TYPE slis_t_listheader.
    ALV required data objects.
    DATA: w_title   TYPE lvc_title,
           w_comm    TYPE slis_formname,
           w_status  TYPE slis_formname,
           x_layout  TYPE slis_layout_alv,
           t_event    TYPE slis_t_event,
           t_fieldcat TYPE slis_t_fieldcat_alv,
           t_sort     TYPE slis_t_sortinfo_alv.
    REFRESH t_fieldcat.
    REFRESH t_event.
    REFRESH t_sort.
    CLEAR x_layout.
    CLEAR w_title.
    Field Catalog
    PERFORM set_fieldcat2 USING:
           1 'MBLNR' 'MBLNR' 'MSEG' space space space space space space
    space space space space space space t_fieldcat ,
           2 'MATNR' 'MATNR' 'MSEG' space space space space space space
    space space space space space space  t_fieldcat ,
           3 'WERKS' 'WERKS' 'MARD' space space space space space space
    space space space space space space  t_fieldcat,
           4 'LGORT' 'LGORT' 'MARD' space space space space space space
    space space space space space space t_fieldcat ,
           5 'LGPBE' 'LGPBE' 'MARD' space space space space space space
    space space space space space space t_fieldcat ,
           6 'CHARG' 'CHARG' 'MSEG' space space space space space space
    space space space space space space t_fieldcat ,
           7 'BWART' 'BWART' 'MSEG' space  space space space space space
    space space space space space space t_fieldcat,
           8 'BUDAT' 'BUDAT' 'MKPF' space  space space space space space
    space space space space space space t_fieldcat,
           9 'MENGE' 'MENGE' 'MSEG' space  space space space space space
    space space space space space space t_fieldcat,
           10 'MEINS' 'MEINS' 'MSEG' space  space space space space space
    space space space space space space t_fieldcat,
           11 'KOSTL' 'KOSTL' 'MSEG' space  space space space space space
    space space space space space space t_fieldcat,
           12 'AUFNR' 'AUFNR' 'MSEG' space  space space space space space
    space space space space space space t_fieldcat,
           13 'RSNUM' 'RSNUM' 'MSEG' space  space space space space space
    space space space space space space t_fieldcat,
       14 'ENDKZ' 'ENDKZ' 'COWB_COMP' space space 'select' 'Select this row' 'Sel' 'Select this row' space space space 'X' 'X' space t_fieldcat.
    Layout
    x_layout-zebra = 'X'.
    Top of page heading
    PERFORM set_top_page_heading USING t_heading t_event.
    Events
    PERFORM set_events USING t_event.
    GUI Status
    w_status = ''.
    User commands
    w_comm   = 'USER_COMMAND'.
    Order
    Example
    PERFORM set_order USING '<field>' 'IT_DATA' 'X' space space t_sort.
    PERFORM set_order USING 'MBLNR' 'IT_DATA' 'X' space 'X' t_sort.
    PERFORM set_order USING 'EBELN' 'IT_DATA' 'X' space 'X' t_sort.
    PERFORM set_order USING 'EBELP' 'IT_DATA' 'X' space space t_sort.
    Displays the ALV grid
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
       i_callback_program       = V_REPID
       it_fieldcat              = t_fieldcat
       is_layout                = x_layout
       it_sort                  = t_sort
       i_callback_pf_status_set = w_status
       i_callback_user_command  = w_comm
       i_save                   = 'X'
       it_events                = t_event
       i_grid_title             = w_title
    TABLES
       t_outtab                 = t_data
    EXCEPTIONS
       program_error            = 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.
    ENDFORM.                    " build_alv.
    *&      Form  set_top_page_heading
          Creates the report headings.
    FORM set_top_page_heading USING t_heading TYPE slis_t_listheader
         t_events  TYPE slis_t_event.
    DATA: x_heading TYPE slis_listheader,
           x_event   TYPE LINE OF slis_t_event.
    Report title
    CLEAR t_heading[].
    CLEAR x_heading.
    x_heading-typ = 'H'.
    x_heading-info = 'Reporte Prueba'(001).
    APPEND x_heading TO t_heading.
    Program name
    CLEAR x_heading.
    x_heading-typ = 'S'.
    x_heading-KEY = 'Program: '.
    x_heading-info = sy-repid.
    APPEND x_heading TO t_heading.
    User who is running the report
    CLEAR x_heading.
    x_heading-typ = 'S'.
    x_heading-KEY = 'User: '.
    x_heading-info = sy-uname.
    APPEND x_heading TO t_heading.
    Date of execution
    CLEAR x_heading.
    x_heading-typ = 'S'.
    x_heading-KEY = 'Date: '.
    WRITE sy-datum TO x_heading-info.
    APPEND x_heading TO t_heading.
    Time of execution
    CLEAR x_heading.
    x_heading-typ = 'S'.
    x_heading-KEY = 'Time: '.
    WRITE sy-uzeit TO x_heading-info.
    APPEND x_heading TO t_heading.
    Top of page event
    x_event-name = slis_ev_top_of_page.
    x_event-FORM = 'TOP_OF_PAGE'.
    APPEND x_event TO t_events.
    ENDFORM.
    *&      Form  set_events
          Sets the events for ALV.
          The TOP_OF_PAGE event is alredy being registered in
          the set_top_page_heading subroutine.
    FORM set_events USING t_events TYPE slis_t_event.
    DATA: x_event   TYPE LINE OF slis_t_event.
    Example
    clear x_event.
    x_event-name = .
    x_event-form = .
    append x_event to t_event.
    ENDFORM.
    *&      Form  set_order
          Adds an entry to the order table.
    FORM set_order USING p_fieldname p_tabname p_up p_down p_subtot
         t_sort TYPE slis_t_sortinfo_alv.
    DATA: x_sort TYPE slis_sortinfo_alv.
    CLEAR x_sort.
    x_sort-fieldname = p_fieldname.
    x_sort-tabname   = p_tabname.
    x_sort-UP = p_up.
    x_sort-down = p_down.
    x_sort-subtot = p_subtot.
    APPEND x_sort TO t_sort.
    ENDFORM.                    "set_order
    *&      Form  set_fieldcat2
          Adds an entry to the field catalog.
    FORM set_fieldcat2 USING p_colpos p_fieldname p_ref_fieldname
    p_ref_tabname
         p_outputlen p_noout
         p_seltext_m p_seltext_l p_seltext_s p_reptext_ddic p_ddictxt
         p_hotspot p_showasicon p_checkbox p_edit
         p_dosum
         t_fieldcat TYPE slis_t_fieldcat_alv.
    DATA: wa_fieldcat TYPE slis_fieldcat_alv.
    CLEAR wa_fieldcat.
    General settings
    wa_fieldcat-fieldname = p_fieldname.
    wa_fieldcat-col_pos = p_colpos.
    wa_fieldcat-no_out = p_noout.
    wa_fieldcat-HOTSPOT = p_hotspot.
    wa_fieldcat-CHECKBOX = p_checkbox.
    wa_fieldcat-ICON = p_showasicon.
    wa_fieldcat-do_sum = p_dosum.
    Set reference fieldname, tablenam and rollname.
    If p_ref_tabname is not given, the ref_fieldname given is a data
    *element.
    If p_ref_tabname is given, the ref_fieldname given is a field of a
    *table. In case ref_fieldname is not given, it is copied from the
    *fieldname.
    IF p_ref_tabname IS INITIAL.
       wa_fieldcat-rollname =   p_ref_fieldname.
    ELSE.
       wa_fieldcat-ref_tabname = p_ref_tabname.
       IF p_ref_fieldname EQ space.
         wa_fieldcat-ref_fieldname =   wa_fieldcat-fieldname.
       ELSE.
         wa_fieldcat-ref_fieldname =   p_ref_fieldname.
       ENDIF.
    ENDIF.
    Set output length.
    IF NOT p_outputlen IS INITIAL.
       wa_fieldcat-outputlen = p_outputlen.
    ENDIF.
    Set text headers.
    IF NOT p_seltext_m IS INITIAL.
       wa_fieldcat-seltext_m = p_seltext_m.
    ENDIF.
    IF NOT p_seltext_l IS INITIAL.
       wa_fieldcat-seltext_l = p_seltext_l.
    ENDIF.
    IF NOT p_seltext_s IS INITIAL.
       wa_fieldcat-seltext_s = p_seltext_s.
    ENDIF.
    IF NOT p_reptext_ddic IS INITIAL.
       wa_fieldcat-reptext_ddic = p_reptext_ddic.
    ENDIF.
    IF NOT p_ddictxt IS INITIAL.
       wa_fieldcat-ddictxt = p_ddictxt.
    ENDIF.
    Set as editable or not.
    IF NOT p_edit IS  INITIAL.
       wa_fieldcat-INPUT     = 'X'.
       wa_fieldcat-EDIT     = 'X'.
    ENDIF.
    APPEND wa_fieldcat TO t_fieldcat.
    ENDFORM.                   "set_fieldcat2
    *&      Form  top_of_page
          Called on top_of_page ALV event.
          Prints the heading.
    FORM top_of_page.
    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
         i_logo             = 'TRVPICTURE04'
       it_list_commentary = t_heading.
    ENDFORM.                    " alv_top_of_page
    *&      Form  user_command
          Called on user_command ALV event.
          Executes custom commands.
    FORM user_command USING r_ucomm     LIKE sy-ucomm
         rs_selfield TYPE slis_selfield.
    case sy-ucomm.
    WHEN '&DATA_SAVE'.
    LOOP AT IT_DATA INTO WA WHERE ENDKZ = 'X'.
       IF WA-ENDKZ = 'X'.
    *******MODIFIED*********************************
    U DELETE THIS CODE N USER UR INSERT CODE TO CHECK
    SY-MSGV1 = WA-MBLNR.                              " U CAN DELETE
    SY-MSGV2 = WA-MATNR.                              " U CAN DELETE
    MESSAGE ID 'BC_BOR' TYPE 'I' NUMBER '888'          " U CAN DELETE
            WITH SY-MSGV1 SY-MSGV2. " U CAN DELETE
    *******MODIFIED*********************************
       INSERT ZTABLE.
       ENDIF.
    endloop.
    ENDCASE.
    ENDFORM.                    "user_command
    this is my code, database will stored in fields only.data is empty,
    how to slove that one,send any sugestion.

    Hi Lakshmi,
           Can u explain briefly what is ur requirement. U mean to say that after clicking the checkbox in data base table or Screen?
    Regards,
      Jayaram...

  • Display read only field in table / form from another vo

    i came across couple of scenarios where i had to bring a field in a table / from from other vo than on which most fields in table / form were based. in all cases i had to display the field from another vo as read only and there was only one record in other vo which was related to previous vo in table / form. for this i created a view accessor and created a soc with model driven lov. the problem with this is that first element alwasy shows blank in soc. how can i display the filled soc with first element populated and read only in this scenario. i tried alternatively with groovy expressions but other people in team said it is not good practice to use groovy expressions to fill fields in one VO from other VO. how can i acheive this requirement with soc component / lov / view accessors. is there any other alternative as well. jdev 11 1 1 5

    1) in the attribute of the VO select the 'List of values' node and edit the list attribute you see there; in the dialog select the UI Hints tad and make sure the checkmark for the 'Include "no Selection Item' is off.
    2) you can base a VO on to EO which are then joined via one or more attributes (association)
    Timo

  • Updating base table with Materialized View's data

    Hi,
    In order to update base table with MVs data, I am trying real time data transfer between two databases. One is Oracle 8i and other is Oracle 9i. I have created an updatable MV in 9i on a base table using database link. The base table is in 8i. Materialized View log is created in 8i on base table. MV has to be associated to some replication group, but I am not able to create replication group in 9i to which MV has to be associated. The required packages are not installed.
    Replication packages are to be used to create replication group are :
    /*Create Materialized View replication group*/
    BEGIN
    DBMS_REPCAT.CREATE_MVIEW_REPGROUP (
    gname => 'TEST_MV_GRP',
    master => 'TEST_DATA_LINK',
    propagation_mode => 'ASYNCHRONOUS');
    END;
    But above block is giving error.
    Can anyone suggest how to resolve this, or are there any other approaches (by not using replication packages) to update base table with MVs data ?
    Thanks,
    Shailesh

    Yes, I created link between two databases and was able to update tables on 8i from 9i database using that link.
    The error I am getting while creating replication group is :
    ORA-06550
    PLS-00201 : identifier 'SYS.DBMS_REPCAT_UTL2@'TEST_DATA_LINK' must be declared
    ORA-06550
    PLS-00201 : identifier 'SYS.DBMS_REPCAT_UNTRUSTED@'TEST_DATA_LINK' must be declared
    ORA-06512 : at "SYS.DBMS_REPCAT_UTL", line 2394
    ORA-06512 : at "SYS.DBMS_REPCAT_SNA_UTL", line 1699
    ORA-06512 : at "SYS.DBMS_REPCAT_SNA", line 64
    ORA-06512 : at "SYS.DBMS_REPCAT", line 1262
    Is there any other approach which can be used to update base table with MVs data instead of using replication packages ?
    Thanks,
    Shailesh

  • How to provide joins between oracle tables and sql server tables

    Hi,
    I have a requirement that i need to generate a report form two different data base. i.e Oracle and Sql Server.
    how to provide joins between oracle tables and sql server tables ? Any help on this
    Regards,
    Malli

    user10675696 wrote:
    I have a requirement that i need to generate a report form two different data base. i.e Oracle and Sql Server. Bad idea most times. Heterogeneous joins do not exactly scale and performance can be severely degraded by network speed and b/w availability. And there is nothing you can do in the application and database layers to address performance issue at the network level in this case - your code's performance is simply at the mercy of network performance. With a single glaring fact - network performance is continually degrading. All the time. Always. Until it is upgraded. When the performance degradation starts all over again.
    If the tables are not small (few 1000 rows each) and row volumes static, I would not consider doing a heterogeneous join. Instead I would rather go for a materialised view on the Oracle side, use a proper table and index structure, and do a local database join.

Maybe you are looking for