7.68.2 GROUP_MAP の使用例
次の簡単なルーチンでは、1 つのフィールドを受信して、ヘッダー・レコードと子レコードを含むリストのグループを返します。
Group_By Name(#GRP_Empl) Fields(#Empno #Surname #Givename #Address1 #Address2 #Address3 #Postcode #Phonehme #Phonebus #Deptment #Section #Salary #Startdte #Termdate) Srvroutine Name(GetEmployee) Field_Map For(*Input) Field(#Empno) Parameter_Name(ID) Group_Map For(*output) Group(#GRP_Empl) Parameter_Name(Employee) List_Map For(*output) List(#LstSkills) Parameter_Name(Skills) Field_Map For(*output) Field(#io$sts) Parameter_Name(Status) Fetch Fields(#Employee) From_File(pslmst) With_Key(#Empno) If_Status is(*Okay) Selectlist Named(#LstSkills) from_file(PSLSKL) With_key(#EMPNO) Add_entry to_list(#LstSkills) Endselect Endif Endroutine
より分かりやすい名前にするための、PARAMETER_NAME の使い方に注目してください。このルーチンが実行されると、次のようにコーディングすることができます。
Define_Com Class(#Server.GetEmployee) Name(#GetEmployee) #GetEmployee.ExecuteAsync ID(#Xxx) Employee(#Yyy) Skills(#Zzz)