This RDMLX code which is created by the Program Coding Assistant automatically handles events signaled by the RAMP screen (it is shown here just for your reference, you do not need to modify it):

     * --------------------------------------------------------------------------------
* Handle any external requests to update the Instance List
* --------------------------------------------------------------------------------

EvtRoutine #Com_owner.avEvent WithId(#EventId) WithAInfo1(#AInfo1) WithAInfo2(#AInfo2) WithAInfo3(#AInfo3) WithAInfo4(#AInfo4) WithAInfo5(#AInfo5)  WithNInfo1(#NInfo1) WithNInfo2(#NInfo2) WithNInfo3(#NInfo3) WithNInfo4(#NInfo4) WithNInfo5(#NInfo5)

* put the received values into fields
Change #vf_elIdn #EventId.Value

* Map the AInfo and NInfo values passed, into the key fields - #EMPNO

Change #DEPTMENT #AInfo1
Change #SECTION #AInfo2
Change #EMPNO #AInfo3

Case #vf_elIDN

when '= Refresh_Instance_List'
* Reload the Instance List

Invoke #Com_Owner.uSelectData

when '= Add_List_Entry'
* Add an entry to the list view

fetch FIELDS(#XG_Ident) FROM_FILE(PSLMST) WITH_KEY(#EMPNO)
if_status *OKAY

* Start an instance list update
Invoke Method(#avListManager.BeginListUpdate)

* Set up the visual Identifier(s)

Change #UF_VisID1 #EMPNO
Change #UF_VisID2 #GIVENAME
Use BConcat (#UF_VisID2 #SURNAME) (#UF_VisID2)

* Add instance details to the instance list

Invoke #avListManager.AddtoList Visualid1(#UF_VisID1) Visualid2(#UF_VisID2) AKey1(#DEPTMENT) AKey2(#SECTION) AKey3(#EMPNO)  ACOLUMN1(#PHONEHME) ACOLUMN2(#ADDRESS1) NCOLUMN1(#POSTCODE)
* Instance list updating has been completed
Invoke Method(#avListManager.EndListUpdate)

endif

when '= Update_List_Entry'
* Update an entry that already exists in the instance list

fetch FIELDS(#XG_Ident) FROM_FILE(PSLMST) WITH_KEY(#EMPNO)
if_status *OKAY

* Start an instance list update
Invoke Method(#avListManager.BeginListUpdate)

* Set up the visual Identifier(s)

Change #UF_VisID1 #EMPNO
Change #UF_VisID2 #GIVENAME
Use BConcat (#UF_VisID2 #SURNAME) (#UF_VisID2)

* Add instance details to the instance list

Invoke #avListManager.UpdateListEntryData Visualid1(#UF_VisID1) Visualid2(#UF_VisID2) AKey1(#DEPTMENT) AKey2(#SECTION) AKey3(#EMPNO)  ACOLUMN1(#PHONEHME) ACOLUMN2(#ADDRESS1) NCOLUMN1(#POSTCODE)
* Instance list updating has been completed
Invoke Method(#avListManager.EndListUpdate)

endif

when '=  Delete_List_Entry'
Invoke Method(#avListManager.BeginListUpdate)

* Remove instance details from the instance list

Invoke #avListManager.RemoveFromList AKey1(#DEPTMENT) AKey2(#SECTION) AKey3(#EMPNO)
Invoke Method(#avListManager.EndListUpdate)

endcase

Endroutine

End_Com
  • No labels