PreviousNextIndex

TO-ROWID function

Converts a string representation of a ROWID to a valid ROWID value.

Syntax

TO-ROWID ( rowid-string ) 

rowid-string
Example

The following procedure (r-torwid.p) selects Customer Balance and credit information and displays it in a browse. You can select any number of rows to store and display more information on the selected Customers.

r-torwid.p 
DEFINE VARIABLE hcustb AS HANDLE  NO-UNDO. 
DEFINE VARIABLE irow   AS INTEGER NO-UNDO. 
DEFINE QUERY custq FOR Customer FIELDS(CustNum Name Balance CreditLimit). 
DEFINE BUFFER cust2 FOR Customer. 
DEFINE TEMP-TABLE rowtab FIELD rowchar AS CHARACTER 
  INDEX rowi IS UNIQUE PRIMARY rowchar ASCENDING. 
DEFINE BROWSE custb QUERY custq  
  DISPLAY Customer.CustNum Customer.Name Customer.Balance 
    Customer.CreditLimit WITH 10 DOWN MULTIPLE. 
DEFINE BUTTON bstore   LABEL "Store Selections". 
DEFINE BUTTON bdisplay LABEL "Display Call Selections". 
DEFINE BUTTON bclear   LABEL "Clear Storage". 
DEFINE FRAME brs-frame custb SKIP bstore bdisplay bclear. 
DEFINE FRAME dsp-frame cust2.CustNum cust2.Name cust2.Phone 
  WITH 5 DOWN SCROLL 1. 
ON CHOOSE OF bstore DO: 
  DO irow = 1 TO custb:NUM-SELECTED-ROWS: 
    IF custb:FETCH-SELECTED-ROW(irow) AND  
      NOT CAN-FIND(rowtab WHERE STRING(ROWID(Customer)) = rowchar) THEN DO: 
      CREATE rowtab NO-ERROR. 
      ASSIGN rowchar = STRING(ROWID(Customer)) NO-ERROR. 
    END. 
  END. 
END. 
ON CHOOSE OF bdisplay DO: 
  CLEAR FRAME dsp-frame ALL. 
  FOR EACH rowtab WITH FRAME dsp-frame: 
    FIND cust2 WHERE ROWID(cust2) = TO-ROWID(rowchar). 
    DISPLAY cust2.CustNum cust2.Name cust2.Phone. 
    DOWN WITH FRAME dsp-frame. 
  END. 
END. 
ON CHOOSE OF bclear DO: 
  IF custb:DESELECT-ROWS() THEN  
  FOR EACH rowtab: 
    DELETE rowtab. 
  END. 
  FRAME dsp-frame:VISIBLE = FALSE. 
END. 
OPEN QUERY custq PRESELECT EACH Customer. 
ENABLE ALL WITH FRAME brs-frame. 
WAIT-FOR WINDOW-CLOSE OF CURRENT-WINDOW. 

Thus, when you choose the bstore button, r-torwid.p stores the ROWID string values of all selected Customer records in a temp-table. When you choose the bdisplay button, it displays the selected Customer Phone information in a DOWN frame by converting each stored ROWID string to a ROWID value and finding the corresponding Customer record. (The example also allows you to add selections and restart by deleting the existing selections.)

Note

Although TO-ROWID converts a properly formatted string to a ROWID value, there is no guarantee that this value corresponds to an existing record in your database.

See also

DATE function, DECIMAL function, INTEGER function, ROWID function, STRING function


OpenEdge Release 10.2B
Copyright © 2009 Progress Software Corporation
PreviousNextIndex