we would see how to populate a Grid dynamically using PeopleCode. Here we use a Dynamic View
The grid is placed on level 1 of a secondary page and is populated using Peoplecode written in the Activate event of the secondary page. We use the SQL object
SGK_VCHR_DVW
as the main record of the Grid.The grid is placed on level 1 of a secondary page and is populated using Peoplecode written in the Activate event of the secondary page. We use the SQL object
&VCHRS_GRD_SQL
to fetch some Voucher IDs and Vendor IDs from the database and populate the grid with these values.Local SQL &VCHRS_GRD_SQL;
/* SQL object for fetching the vouchers and vendors*/
Local Rowset &VCHRS_GRD_RS;
/*Rowset for accessing the Grid*/
&VCHRS_GRD_SQL = CreateSQL("SELECT V.VOUCHER_ID, V.VENDOR_ID FROM PS_VOUCHER V WHERE V.BUSINESS_UNIT =:1 AND V.ACCOUNTING_DT>:2", &SGK_BU, &SGK_ACCTG_DT);
/*creating the SQL statement*/
&VCHRS_GRD_RS = GetLevel0()(1).GetRowset(Scroll.SGK_VCHR_DVW);
/*creating a rowset corresponding to the grid */
While &VCHRS_GRD_SQL.Fetch(&GRD_VOUCHER_ID, &GRD_VENDOR_ID)
&VCHRS_GRD_RS(1).SGK_VCHR_DVW.VOUCHER_ID.Value = &GRD_VOUCHER_ID;
/*assigning the voucher ID to the filed in the grid */
&VCHRS_GRD_RS(1).SGK_VCHR_DVW.VENDOR_ID.Value = &GRD_VENDOR_ID;
assigning the Vendor ID to the filed in the grid
&VCHRS_GRD_RS.InsertRow(0);
/* inserting a new row at the beginning of the grid*/
End-While;
&VCHRS_GRD_RS.DeleteRow(1);
/* deleting the empty row left after all the insertions */
&VCHRS_GRD_SQL.Close();
/* closing the SQL object */
Dear MR,
ReplyDeleteI have a record REC1 at level 1 and i need to add an action on a field- G - at this record to populate a data in a grid at level 2 for record REC2.
This SQL data is "SELECT SUPPLIES FROM REC3 WHERE REC3.G = REC1."
Please i need advice.
Thanks a lot.