Continously changing data blocks

Hi
If the data blocks in the buffer continously get updated such that they never reach the Least used list of LRU,then when will they be written to disk?

To ensure that DBWR writes all modified buffers any of the following is adequate :
1. SHUTDOWN (NORMAL or IMMEDIATE)
2. ALTER DATABASE BEGIN BACKUP
3. ALTER SYSTEM CHECKPOINT
4. ALTER SYSTEM SWITCH LOGFILE -- DBWR writes modified buffers "lazily", so the command is returned even before all modified buffers are written to disk
5. ALTER TABLESPACE tbsname BEGIN BACKUP -- only the Tablespace is checkpointed, not the whole instance
6. DROP or TRUNCATE table -- only the table's (and indexes) buffers are checkpointed
7. Segment checkpoint issued by a Parallel Query -- only the segment's buffers are checkpointed
8. Segment checkpoint initiated by direct path serial read implemented in 11g -- only the segment's buffers are checkpointed (see URL added by Joel (jgarry) in later comments)
Hemant K Chitale
Edited by: Hemant K Chitale on Jan 11, 2011 11:13 AM

Similar Messages

  • Hi!!!Can anyone suggest how to change data block dynamically using input

    Hi all,
    Here is my requirement...I have a datablock which has 7 columns, these coloumn represent dates. I have a header in which I will input the date[b] from and to ( this is restricted to not more than one month). Now when I enter these 2 date fields in header, My 7 coloumn data block need to be changed to 'n' number of coloumn( which is less than 1 month) as per input fields. Can I do this, if we can then please give me the guide lines.
    Thank you

    it is a good solution Jeneesh, because it is the only one.
    You cannot create items dynamically at runtime, so you have to create them in your form at designtime and show and hide them.

  • What does redo log buffer holds, changed value or data block?

    Hello Everyone,
    i am new to database side and have one query as i know redo log buffer contain change information , my doubt is does it store the value only or the changed data block? because if we can see data buffer cache size is more as it holds data block and redo log buffer size is less .

    The Redo Log buffer contains OpCodes that represent the SQL commands, the "address" (file,block,row) where the change is to be made and the nature of the change.
    It does NOT contain the data block.
    (the one exception is when you run a User Managed Backup with ALTER DATABASE BEGIN BACKUP or ALTER TABLESPACE BEGIN BACKUP : The first time a block is modified when in BEGIN BACKUP mode, the whole block is written to the redo stream).
    The log buffer can be and is deliberately smaller than the blocks buffer cache. Entries in the redo log buffer are quickly written to disk (at commits, when it is 1/3rd or 1MB full, every 3seconds, before DBWR writes a modified data block).
    Hemant K Chitale

  • Where do changed data values goto if DB is in BACKUP mode for LONG PERIODs

    Where does oracle write if put the database in begin backup mode for LONG PERIODs. Lets say I issued a "ALTER DATABASE BEGIN BACKUP" command in a busy database and forgot about it for a long time.
    I understand that when the DB IS IN BEGIN BACKUP MODE, "the database copies whole changed data blocks into the redo stream." (Page 503 of 11.1 backup and recovery guide). But the redo stream is limited by the number of online redologs. After some time redologs also wont be sufficient for the changed data values after a begin backup is issued. I understand that there are archived redologs.
    Lets say there are 2 redolog groups in this database and Lets say 10 archive log files got generated since the ALTER DATABASE BEGIN BACKUP was issued.
    When i finally issue the "ALTER DATABASE END BACKUP" command, will Oracle sync the datafiles with the changed data blocks reading the data from these 10 archived log files ? What happens if i delete these archive redologs from the archive log destination. ??
    page 504 of 598 in the backup and recovery guide
    Caution : If you fail to take the tablespace out of backup mode,
    then Oracle Database continues to write copies of data blocks in
    this tablespace to the online redo logs, causing performance
    problems. Also, you receive an ORA-01149 error if you try to shut
    down the database with the tablespaces still in backup mode.
    it just says "performance problems", nothing more than that.*
    Any answers ? I am sure this question would have popped to some of you senior DBA people out there.

    user13076519 wrote:
    Where does oracle write if put the database in begin backup mode for LONG PERIODs. Lets say I issued a "ALTER DATABASE BEGIN BACKUP" command in a busy database and forgot about it for a long time. It writes just like it always does, plus it puts some extra in the redo log the [url http://oraclenz.com/2008/07/11/logging-or-nologging-that-is-the-question-part-ii/]first time a block is changed.
    >
    >
    I understand that when the DB IS IN BEGIN BACKUP MODE, "the database copies whole changed data blocks into the redo stream." (Page 503 of 11.1 backup and recovery guide). But the redo stream is limited by the number of online redologs. After some time redologs also wont be sufficient for the changed data values after a begin backup is issued. I understand that there are archived redologs. This appears to be a typo (incompleteness, really) in the backup and recovery guide.
    The redo stream is not limited by the number of of redo logs, only the volume of data. When a log fills up, it gets archived. If all the logs get filled up before the first one is finished archiving, the db will stall until the next redo becomes available. The only limit to archiving is disk space (and bandwidth if that is an issue, which it can be in some configurations).
    >
    Lets say there are 2 redolog groups in this database and Lets say 10 archive log files got generated since the ALTER DATABASE BEGIN BACKUP was issued.
    When i finally issue the "ALTER DATABASE END BACKUP" command, will Oracle sync the datafiles with the changed data blocks reading the data from these 10 archived log files ? What happens if i delete these archive redologs from the archive log destination. ??Archived logs are archived, Oracle only reads them in recovery. You do not understand archive logs, read the concepts manual.
    >
    page 504 of 598 in the backup and recovery guide
    Caution : If you fail to take the tablespace out of backup mode,
    then Oracle Database continues to write copies of data blocks in
    this tablespace to the online redo logs, causing performance
    problems. Also, you receive an ORA-01149 error if you try to shut
    down the database with the tablespaces still in backup mode.
    it just says "performance problems", nothing more than that.*Because it is overgeneralizing.
    >
    Any answers ? I am sure this question would have popped to some of you senior DBA people out there.Oh, you want to send me a gift for showing where in oracle it's documented? See [url http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:271815712711]here for something over a decade old.

  • ORA-00607: Internal error occurred while making a change to a data block

    hi
    i hv use testing purpose oracle 10 Xe in unix
    but when today i hv connect database following error occured
    SQL> startup
    ORACLE instance started.
    Total System Global Area 83886080 bytes
    Fixed Size 1257284 bytes
    Variable Size 75497660 bytes
    Database Buffers 4194304 bytes
    Redo Buffers 2936832 bytes
    Database mounted.
    ORA-00607: Internal error occurred while making a change to a data block
    ORA-00600: internal error code, arguments: [4193], [625], [640], [], [], [],
    I hv check alert log , but no proper solution is given , how can start database

    Duh, and of course I missed the significance of
    oracle 10 Xe in unix
    XE is only supported for Linux - according to the downloads page that means "Debian, Mandriva, Novell, Red Hat and Ubuntu".
    Oracle have not publically stated the reasons why XE is only available on Linux and Windows, but my guess is that it is something to do the Intel chip architecture. If this is so it would be possible for Oracle to port XE to run on Solaris for x86. But they have not done so yet.
    Which means, alas, that you are unlikely to get any help for this one, because XE is not supported on any unix platform.
    Good luck, APC

  • Switch data block - Do you want to save changes ?

    As soon as I choose a record from my love "ORDERS_LOV", I simply want to display a new canvas and switch data blocks. but why does the system keep asking me to save changes when I choose a record ???
    Here's my code:
    IF SHOW_LOV('ORDERS_LOV') THEN
         HIDE_WINDOW('CUSTOMER_SERVICE');
         SHOW_VIEW('ORDERS_CANVAS');
         GO_BLOCK('ORDERS');
         GO_ITEM('orders.order_id');
         Execute_Query;
    ELSE
         MESSAGE('No order found for this customer');
    END IF;

    why does the system keep asking me to save changes when I choose a record ???Because the Execute_Query causes the 'Orders' block to clear, and at some prior time you have
    either entered a new record into the block, or else your prior Execute_Query caused a Post-Query
    trigger to run that set values in items that cause the record status go change from QUERY to CHANGED.
    In other words, the status of your 'Orders' block is 'CHANGED', and not 'NEW' or 'QUERY'.

  • Manipulating data from a ref cursor in the data block of a form

    I am using Oracle Forms 10g. I have a ref cursor which returns columns A, B, C, D, E where B, C, D, E are values. The "Query Data Source Name" attribute in the datablock contains "CCTR_Extract_pkg.cctr_refcur". The "Column Name" attribute of item A contains "A", item B contains "B", etc. All of these columns are displayed on the form and it all works perfectly.
    I have a new request, the users would like a 6th column displayed - column F - where it equals D - B.
    Is there any way of doing this in the form only or do I need to change the ref cursor to accomodate the new column and then the form?
    If it can be achieved in the Form (only) - then how do I reference the 2 columns?
    Thanks in anticipation
    Michael
    Edited by: user8897365 on 24-Aug-2011 10:32

    Is there any way of doing this in the form only or do I need to change the ref cursor to accomodate the new column and then the form? The REF_CURSOR is the data source of your block so you will have to modify the CCTR_Extract_pkg package and cctr_refcur REF_CURSOR.
    If it can be achieved in the Form (only) - then how do I reference the 2 columns?After you have modified your database package, I recommend you run the Data Block Wizard on your block and let Forms detect the 2 new columns. You can do this manually, but it is safer to let Forms do it for you. If you want to do it manually, open the Query Data Source Columns property and add your new columns.
    Hope this helps,
    Craig B-)
    If someone's response is helpful or correct, please mark it accordingly.

  • Sales Order creation/ change date for the items

    I have a unique scenario and i need to get a Report for this
    A sales order is created for 4 line items.
    Out of these , for 2 line items a delivery is created. I need the sales order creation date and time  for these 2 items in a custom report
    Now the other 2 items go in to some kind of block- Now these are released by going in the sales order VA02 and after releasing the delivery is created. Again for these two items , i need the sales order change date as after a user goes and changes the sales order to remove the block only then delivery is created for these two items
    Also another scenario is the 2 line items go for back order and when we get stock  at tht time system confirms the stock and then the delivery is created for these. So also for this when this change occured i need to get the date for these 2 line items
    Can any one please suggest how to get this data  from the scenarios?
    I dont want to get the date when the delivery is created as i can get tht from the LIKP table. I need the sales order create and change dates for these.

    You may be aware, any changes to a document will be recorded in CDHDR (for header changes) and CDPOS (for item changes).  You can explore these two tables.
    thanks
    G. Lakshmipathi

  • Data Concurrency and Consistency ( SCN , DATA block)

    Hi guys, i am getting very very very confused about how oracle implement consistency / multiversioning with regards to SCN in a data block and transaction list in the data block..
    I will list out what i know so you guys can gauge me on where i am..
    When a SELECT statement is issued, SCN for the select query is determined. Then Blocks with higher SCN are rebuilt from the RBS.
    Q1) The SCN in the block implied here - is it different from the SCNs in the transaction list of the block ? where is this SCN store ? where is the transaction list store ? how is the SCN of the block related with the SCNs in the transaction list of the block ?
    Q2) can someone tell me what happen to the BLOCK SCN and the transaction list
    of the BLOCK when a transaction start to update to a row in the block occurs.
    Q3) If the BLOCK SCN reflects the latest change made to the block and If the SCN of the block is higher then the SCN of the SELECT query, it means that the block has change since the start of the SELECT query, but it DOESNT mean that the row (data) that the SELECT query requires has changed.
    Therefore why cant ORACLE just check to see whether the row has changed and if it has, rebuilt a block from the RBS ?
    Q4) when ORACLE compares the BLOCK SCN, does it only SCAN for the BLOCK SCN or does it also SEARCH through the TRANSACTION LIST ? or it does both ? and why ?
    Q5) is transaction SCN same as Transaction ID ? which is store in the RBS , the transaction SCN or ID ?
    Q6) in short i am confuse with the relationship between BLOCK SCN, transaction list SCN, their location, their usage and relationship of the BLOCK SCN and transaction list when doing a SELECT, their link with RBS..
    any gurus clear to give me a clearer view of what is actually happening ?

    Hi Aman
    Hmm agreed.So when commit is issued , what happens at that time?Simply put:
    - The SCN for the transaction is determined.
    - The transaction is marked as committed in the undo header (the commit SCN is also stored in the undo header).
    - If fast cleanout takes place, the commit SCN is also stored in the ITL. If not, the ITL (i.e. the modified data blocks) are not modified.
    So at commit, Oracle will replace the begin scn in the ITL with this scn
    and this will tell that the block is finally committed is it?The ITL does not contain the begin SCN. The undo header (specifically the transaction table) contains it.
    I lost here.In the ITL , the scn is transaction SCN or commit scn?As I just wrote, the ITL contains (if the cleanout occured) the commit SCN.
    This sounds like high RBA information?What is RBA?
    Commit SCNThis is the SCN associated with a committed transaction.
    Begin SCNThis is the SCN at which a transaction started.
    Transaction SCNAs I wrote, IMO, this is the same as the commit SCN.
    Also please explain that what exactly the ITL stores?If you print an ITL slot, you see the following information:
    BBED> print ktbbhitl[0]
    struct ktbbhitl[0], 24 bytes     @44
          struct ktbitxid, 8 bytes    @44
             ub2 kxidusn              @44       0x0009
             ub2 kxidslt              @46       0x002e
             ub4 kxidsqn              @48       0x0000fe77
          struct ktbituba, 8 bytes    @52
             ub4 kubadba              @52       0x00800249
             ub2 kubaseq              @56       0x3ed6
             ub1 kubarec              @58       0x4e
          ub2 ktbitflg                @60       0x2045 (KTBFUPB)
          union _ktbitun, 2 bytes     @62
             b2 _ktbitfsc             @62       0
             ub2 _ktbitwrp            @62       0x0000
          ub4 ktbitbas                @64       0x06f4c2a3- ktbitxid --> XID, the transaction holding the ITL slot
    - ktbituba --> UBA, used to locate the undo information
    - ktbitflg --> flags (active, committed, cleaned out, ...)
    - _ktbitfsc --> free space generated by this transaction in this block
    - _ktbitwrp+ktbitbas --> commit SCN
    HTH
    Chris

  • Can we create a list item as a data block item?

    Hi,
    I have changed a text item to list item on the data block.
    This list item used to get populated when it was control block item, but after i changed it to data block item, it's not getting populated.
    My question is, can we create a list item(poplist) as a data block item?
    Any idea?
    Thanks in advance
    R.G

    Hi
    When you use ctl blocks data dose not fetch from Database. But in data blocks it get fetches when you execute query. So you have to make sure table column values are matching with the List Box values you have given.
    So please check table values.
    Nilaksha.

  • Inserting rows into a data block

    Hi, how do i insert 'n' rows into a data block and after that commit the changes into the data base.
    Thanks for any help.

    You can use something like this:
    Go_Block('my_block');
    first_record;
    LOOP
    .... insert values to the items
    next_record;
    END LOOP;
    - for commiting changes
    Do_Key('Commit_Form');
    I hope this will help you.
    Helena

  • ALV CHECK CHANGED DATA WITH REUSE_ALV_GRID_DISPLAY

    HELLO  EVERY-ONE.
        I have a question that how to check changed data in ALV. I know we can use CHECK_CHANGE_DATA Method in OO, and how to check it in REUSE_ALV_GRID_DISPLAY <b>without double click</b> ?

    Try this code , it will give the solution that has been solved with funtion module
    REPORT zalvprg1.
    TYPE-POOLS: slis.
    TABLES: ekko.
    DATA : it_list_top_of_page TYPE slis_t_listheader,
           it_list_end_of_page TYPE slis_t_listheader,
           it_events           TYPE slis_t_event,
           wa_line             TYPE slis_listheader,
           wa_event            TYPE slis_alv_event.
    DATA :  it_fieldcat  TYPE slis_t_fieldcat_alv ,
            wa_fieldcat  TYPE slis_fieldcat_alv.
    TYPES :BEGIN OF ty_ekko,
           ebeln TYPE ebeln,
           bukrs TYPE bukrs,
           ernam TYPE ernam,
           bsart TYPE esart,
           waers TYPE waers,
           END   OF ty_ekko.
    TYPES :BEGIN OF ty_ekpo,
           ebeln TYPE ebeln,
           ebelp TYPE ebelp,
           matnr TYPE matnr,
           werks TYPE werks,
           menge TYPE bstmg,
           END   OF ty_ekpo.
    TYPES :BEGIN OF ty_marc,
           matnr TYPE matnr,
           werks TYPE werks_d,
           tranz TYPE tranz,
           herbl TYPE herbl,
           END   OF ty_marc.
    TYPES : BEGIN OF ty_show,
            old  TYPE i,
            new(10) TYPE c,
            END OF ty_show.
    TYPES : BEGIN OF ty_final,
           ebeln TYPE ebeln,
           bukrs TYPE bukrs,
           ernam TYPE ernam,
           bsart TYPE esart,
           waers TYPE waers,
           matnr TYPE matnr,
           werks TYPE werks,
           menge TYPE bstmg,
           END   OF ty_final.
    DATA: it_ekko  TYPE TABLE OF ty_ekko,
          it_ekpo  TYPE TABLE OF ty_ekpo,
          it_marc TYPE TABLE OF ty_marc,
          it_final TYPE TABLE OF ty_final,
          it_show  TYPE TABLE OF ty_show WITH HEADER LINE,
          wa_marc  TYPE ty_marc,
          wa_ekko  TYPE ty_ekko,
          wa_ekpo  TYPE ty_ekpo,
          wa_show  TYPE ty_show,
          wa_final TYPE ty_final.
    SELECT-OPTIONS: so_ebeln FOR ekko-ebeln.
    START-OF-SELECTION.
      PERFORM data_fetch.
      PERFORM alv_display.
    END-OF-SELECTION.
    *&      Form  data_fetch
          text
    -->  p1        text
    <--  p2        text
    FORM data_fetch .
      SELECT ebeln
             bukrs
             ernam
             bsart
             waers
             FROM ekko
             INTO TABLE it_ekko
             WHERE ebeln IN so_ebeln.
      SELECT ebeln
             ebelp
             matnr
             werks
             menge
             FROM ekpo
             INTO TABLE it_ekpo
             FOR ALL ENTRIES IN it_ekko
             WHERE ebeln = it_ekko-ebeln.
      LOOP AT it_ekko INTO wa_ekko.
        wa_final-ebeln = wa_ekko-ebeln.
        wa_final-bukrs = wa_ekko-bukrs.
        wa_final-ernam = wa_ekko-ernam.
        wa_final-bsart = wa_ekko-bsart.
        wa_final-waers = wa_ekko-waers.
        READ TABLE it_ekpo INTO wa_ekpo WITH KEY ebeln = wa_ekko-ebeln.
        IF sy-subrc EQ 0.
          wa_final-matnr = wa_ekpo-matnr.
          wa_final-werks = wa_ekpo-werks.
          wa_final-menge = wa_ekpo-menge.
        ENDIF.
        APPEND wa_final TO it_final.
      ENDLOOP.
    ENDFORM.                    " data_fetch
    *&      Form  alv_display
          text
    -->  p1        text
    <--  p2        text
    FORM alv_display .
      REFRESH it_fieldcat.
      PERFORM field_cat USING 'EBELN' 'PURCHASE ORDER NO'.
      PERFORM field_cat USING 'BUKRS' 'COMPANY CODE'.
      PERFORM field_cat USING 'ERNAM' 'USERNAME CREATED'.
      PERFORM field_cat USING 'BSART' 'DOCUMENT TYPE'.
      PERFORM field_cat USING 'WAERS' 'CURRENCY'.
      PERFORM field_cat USING 'MATNR' 'MATERIAL NO'.
      PERFORM field_cat USING 'WERKS' 'PLANT '.
      PERFORM field_cat USING 'MENGE' 'QUANTITY'.
      CLEAR it_list_top_of_page.
      PERFORM f009_list_header .
      CLEAR it_list_end_of_page.
      PERFORM f009_list_footer.
      PERFORM f012_grid_function_module TABLES it_final USING it_fieldcat.
    ENDFORM.                    " alv_display
    **&      Form  f009_list_header
          text
    FORM f009_list_header.
    **..... Header detail for ALV
      wa_event-name = text-001. "TOP_OF_PAGE
      wa_event-form = text-002. "F010_TOP_OF_PAGE
      APPEND wa_event TO it_events.
      CLEAR wa_event.
      CLEAR wa_line.
      wa_line-typ  = text-003.   "S
      wa_line-key  = text-004.   "9 - BLOCKER REPORT
      wa_line-info = text-005.
      APPEND wa_line TO it_list_top_of_page.
      CLEAR wa_line.
    ENDFORM.                    "f009_list_header
    *&      Form  f010_top_of_page
          text
    FORM f010_top_of_page.
    **......The form 'F010_TOP_OF_PAGE' cannot be called directly
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          it_list_commentary = it_list_top_of_page.
    ENDFORM.                    "f010_top_of_page
    *&      Form  field_cat
          text
         -->W_FIELD    text
         -->W_COL      text
    FORM field_cat  USING    w_field
                             w_col.
      CLEAR wa_fieldcat.
      wa_fieldcat-fieldname = w_field.
      wa_fieldcat-seltext_l = w_col.
      wa_fieldcat-outputlen = 15.
      APPEND wa_fieldcat TO it_fieldcat.
    ENDFORM.                    " field_cat
    *&      Form  f012_grid_function_module
          text
    FORM f012_grid_function_module TABLES w_tab USING  w_fcat TYPE any.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          i_callback_program       = sy-repid
          it_fieldcat              = w_fcat
          i_callback_pf_status_set = 'F010_PF_STATUS'
          i_callback_user_command  = 'USER_COMMAND'
          it_events                = it_events[]
        TABLES
          t_outtab                 = w_tab
        EXCEPTIONS
          program_error            = 1
          OTHERS                   = 2.
      IF sy-subrc IS NOT INITIAL.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
        WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    ENDFORM.                    "f011_grid_function_module
    *&      Form  f009_list_footer
          text
    FORM f009_list_footer.
    **..... Footer  detail for ALV
      CLEAR wa_event.
      CLEAR wa_line.
      wa_event-name = text-007. "BOTTOM_OF_PAGE
      wa_event-form = text-008. "F010_BOTTOM_OF_PAGE
      APPEND wa_event TO it_events.
      wa_line-typ  = text-009.   "S
      wa_line-key  = text-010.   "9 - BLOCKER REPORT
      wa_line-info = text-011.
      APPEND wa_line TO it_list_end_of_page.
      CLEAR wa_line.
    ENDFORM.                    "f009_list_footer
    *&      Form  f010_top_of_page
          text
    FORM f010_bottom_of_page.
    **......The form 'F010_TOP_OF_PAGE' cannot be called directly
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          it_list_commentary = it_list_end_of_page.
    ENDFORM.                    "f010_end_of_page
          FORM user_command                                             *
    FORM user_command USING r_ucomm LIKE sy-ucomm
                               rs_selfield TYPE slis_selfield.
      CASE r_ucomm.
        WHEN '&IC1'.
          IF rs_selfield-fieldname = 'MATNR'.
            SET PARAMETER ID 'MAT' FIELD rs_selfield-value.
            SET PARAMETER ID 'WRK' FIELD '1000'.     "<- Your plant here
            CALL TRANSACTION 'MD04' AND SKIP FIRST SCREEN.
           call transaction 'MM02' and skip first screen.
          ENDIF.
          IF rs_selfield-fieldname = 'WERKS'.
            PERFORM disp_marc USING rs_selfield.
          ENDIF.
        WHEN '&CHANGE'.
          IF rs_selfield-fieldname = 'MENGE'.
            PERFORM disp_alter USING rs_selfield.
          ENDIF.
      ENDCASE.
    ENDFORM.                    "callback_ucomm
    *&      Form  f010_pf_status
          text
         -->RT_EXTAB   text
    FORM f010_pf_status USING rt_extab TYPE slis_t_extab.
      SET PF-STATUS 'ZS_ALV'.
    ENDFORM.                    "F010_PF_STATUS
    *ENDFORM.                    "dialog
    *&      Form  f002_FIELDCAT
          text
         -->P_0512   text
         -->P_0513   text
         -->P_0514   text
    FORM f002_fieldcat  USING   w_field
                                w_col
                                w_change   .
      CLEAR wa_fieldcat.
      wa_fieldcat-fieldname = w_field.
      wa_fieldcat-seltext_l = w_col.
      wa_fieldcat-outputlen = 15.
      wa_fieldcat-edit      = w_change.
      wa_fieldcat-input     = 'X'.
      APPEND wa_fieldcat TO it_fieldcat.
    ENDFORM.                    " f002_FIELDCAT
    *&      Form  disp_marc
          text
         -->P_W_SELFIELD  text
    FORM disp_marc  USING    rs_selfield TYPE slis_selfield.
      SELECT   matnr
               werks
               tranz
             FROM  marc INTO TABLE it_marc
             WHERE werks = rs_selfield-value.
      REFRESH it_fieldcat.
      PERFORM field_cat USING 'MATNR' 'MATERIAL NUMBER'.
      PERFORM field_cat USING 'WERKS' 'PLANT '.
      PERFORM field_cat USING 'TRANZ' 'INTER-OPERATION TIME'.
    PERFORM field_cat USING 'HERBL' 'STATE OF MANUFACTURE'.
      PERFORM f012_grid_function_module TABLES it_marc USING it_fieldcat .
      IF sy-subrc NE 0.
        MESSAGE 'MATERIAL DETAILS' TYPE 'S'.
      ENDIF.
    ENDFORM.                    " disp_marc
    *&      Form  disp_alter
          text
         -->P_RS_SELFIELD  text
    FORM disp_alter  USING    rs_selfield TYPE slis_selfield.
      DATA:l_var(10) TYPE c.
      REFRESH : it_fieldcat,
                it_show.
      it_show-old = rs_selfield-value.
      CLEAR it_show-new.
      APPEND it_show TO it_show.
      PERFORM field_cat  USING 'OLD'  'OLD QTY (MENGE)'.
      PERFORM f002_fieldcat USING 'NEW' 'NEW QTY (MENGE)' 'X'.
      CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'
        EXPORTING
          i_title            = 'CHANGES IN MATERIAL'
          i_tabname          = 'IT_SHOW'
          it_fieldcat        = it_fieldcat
          i_callback_program = sy-repid
        TABLES
          t_outtab           = it_show
        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.
      l_var = it_show-new.
      READ TABLE it_final INDEX rs_selfield-tabindex INTO wa_final.
      wa_final-menge = l_var.
      MODIFY it_final INDEX rs_selfield-tabindex  FROM wa_final TRANSPORTING menge .
      PERFORM alv_display.
    ENDFORM.                    " disp_alter
    Reward points for the same
    Regards,
    Shanmuga perumal.L

  • Data block wizard breaks master-detail

    I've encountered the following situation, and I'm wondering if it's a known bug or if I'm doing something wrong:
    1. Open the data block wizard on an existing block that is the "detail" block of a master-detail relationship.
    2. Add one new field to the block. No other changes are made.
    3. When the form is recompiled and run, the master-detail relationship is broken. The detail block contains all the rows in the detail table. Clicking on the rows of the master block does not change the detail.
    Adding a field to the block manually does not cause a problem. The relation is not impacted, and we see no property settings that are wrong. We tried downloading and installing all of the latest patches for forms 6i, and the problem occurs with that release as well. Any ideas?

    I think you do something wrong because I add many fields many times and it works fine.
    Thanks
    Abubakr
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Steven Swartzlander:
    I've encountered the following situation, and I'm wondering if it's a known bug or if I'm doing something wrong:
    1. Open the data block wizard on an existing block that is the "detail" block of a master-detail relationship.
    2. Add one new field to the block. No other changes are made.
    3. When the form is recompiled and run, the master-detail relationship is broken. The detail block contains all the rows in the detail table. Clicking on the rows of the master block does not change the detail.
    Adding a field to the block manually does not cause a problem. The relation is not impacted, and we see no property settings that are wrong. We tried downloading and installing all of the latest patches for forms 6i, and the problem occurs with that release as well. Any ideas?<HR></BLOCKQUOTE>
    null

  • Creating "Control Combo Box " Relation with data block

    Hi all dears
    i am switching from C# to oracle developer for joining gulf net software house, i have a problem regarding master detail data
    the senerio is
    "List items" control Filled programatically as under shortly:-
    rg_id := create_group_from_query('myrg', 'select dname a, dname b from dept');
    populate_group(rg_id);
    populate_list('mylist', rg_id);
    using this i fill my combo box during new form instance trigger
    i have created a datablock emp through wizard which can show 10 record.
    now
    Problem 1
    i want to show records on form when user select any dept from combo box.
    Problem 2
    if i create group from query and in select statement is like this "select dname, dpetno from dept" the record group is created successfully but i am unable to populate_list due to different data type colums in record group how i will populate list so that List items Labels are department name and value is department no
    Thanks in advance for persual

    Hi dears all
    I have solved this problem my self
    1. select dept name form combo box and the data block shows the emp's of concern depat
    solution
    create a data block of emp table through wizard
    create its table view and show 10 records
    go to datablock i consider its name "emp" datablock properties
    in Where clause condition specify deptno = : my_combo_box;
    now go to combo box when item changed event
    go_bolck("emp);
    execute_query;

  • COMMIT_FORM  per one DATA BLOCK at a time

    Hi,
    Please guide for the following:
    I have 3 data blocks (tabular) on 3 tables, with three radio buttons on the form. I want to insert records in a table as per the radio button value:
    For example
    (1) if user has selected rdbtn1 then COMMIT_FORM must insert record in table 1 only.
    (2) if user has selected rdbtn2 then COMMIT_FORM must insert record in table 2 only.
    (2) if user has selected rdbtn3 then COMMIT_FORM must insert record in table 3 only.
    Is it possible with COMMIT_FORM, if so, how, please guide.
    Regards.

    Here is the fundamental problem. The Commit_Form built-in will save all pending transactions in the entire Forms session. Therefore, in order to save incrementally (one block out of many) you have to use autonomous transactions. In essence you have to create a new session, perform your changes and save the changes outside of the current Forms session. This is typically done using Dynamic SQL. However, you can’t use the EXECUTE_IMMEDIATE Native Dynamic SQL (NDS) command in Forms. You could use FORMS_DDL (which allows you to execute dynamic SQL from Forms) but Forms_DDL issues an implicit COMM IT which will COMMI T the entire Forms Session. Therefore, the best way to accomplish this would be to call a database procedure that uses NDS to perform the needed DML and issue the COMM IT.
    The other alternative would be to do what I think "user8937305" is suggesting; depending on the Radio Button selected, you clear the other two data blocks so only the data in the selected data block (radio button) is saved through the FORMS_C OMMIT.
    Hope this helps,
    Craig B-)
    If someone's response is helpful or correct, please mark it accordingly.

Maybe you are looking for

  • Apple ID Login Issue

    I am using iTunes on my MacBook Pro, and when purchasing a song I'm asked to enter my password to my Apple ID (as usual) and when I do this, it doesn't seem to accept it. It however does not display an error message... It simply re-displays the box t

  • Alternate option for Get_Application_Property(PASSWORD)

    Hi All, Here is the problem i am facing. The current business process in our application is running through forms and is carried out manually by the user. This process involves the generation of reports (pdf format) during the process. so the connect

  • Folder icon broken in leopard?

    just upgraded to Leopard and noticed that when i'm in thumbnail view and change the icon of the folder to an image stored in 'clipboard' - it renders that folder unclickable? what's going on? worked great in tiger! ****....

  • RoboHelp x5.0.2 integration with Frame 8.0

    Our company is looking to rid itself of Word (well, we tech writers would like to get rid of Word and are looking to build a case for making a switch to Frame) . We are also using RoboHelp x5.0.2 - will this pose a problem for us? This forum seems li

  • Item categiry and account assignment

    Hi all,         Hav we create any item categiries and account assignments.          if yes,what business process required please clarify siri