Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

ドラッグ・アンド・ドロップされるオブジェクトは、Payloadです。

Image RemovedImage Added

このセクションの例では、共通のPayload再利用可能パーツDD_EMPPLを使用します。これには、社員情報の作業リストとPayloadにアイテムを追加したりPayloadからアイテムを取得するメソッドが含まれます。

...

このソースをコピーしてDD_EMPPLという名前の再利用可能パーツに貼り付け、コンパイルてください。

...

     FUNCTION options(*DIRECT)
BEGIN_COM role(*EXTENDS #PRIM_OBJT)
DEF_LIST name(#PAYLOAD) fields(#EMPNO #SURNAME #GIVENAME #DEPTMENT #SECTION) counter(#LISTCOUNT) type(*WORKING)
DEFINE_PTY name(Payload_items) get(*auto #listcount)

...

     * Add an item to the payload
MTHROUTINE name(Add_to_payload)
DEFINE_

...

MAP for(*input)

...

 class(#empno)

...

 name(#Employee_ID)

...

 mandatory('')
DEFINE_

...

MAP for(*input)

...

 class(#surname)

...

 name(#Employee_Surname)

...

 mandatory('')
DEFINE_

...

MAP for(*input)

...

 class(#Givename)

...

 name(#Employee_Givename)

...

 mandatory('')
DEFINE_

...

MAP for(*input)

...

 class(#Deptment)

...

 name(#Employee_Department)

...

 mandatory('')
DEFINE_MAP for(*input) class(#Section) name(#Employee_Section) mandatory('')

...

     CHANGE field(#EMPNO)

...

 to('#Employee_ID.value')

...

     CHANGE field(#SURNAME)

...

 to('#Employee_Surname.value')

...

     CHANGE field(#GIVENAME)

...

 to('#Employee_Givename.value')

...

     CHANGE field(#DEPTMENT)

...

 to('#Employee_Department.value')
CHANGE field(#SECTION) to('#Employee_Section.value')
ADD_ENTRY to_list(#PAYLOAD)
ENDROUTINE

...

     MTHROUTINE name(Get_payload_Item)
DEFINE_

...

MAP for(*input)

...

 class(#Listentry)

...

 name(#Payload_item)
DEFINE_

...

MAP for(*output)

...

 class(#empno)

...

 name(#Employee_ID)

...

 mandatory('')
DEFINE_

...

MAP for(*output)

...

 class(#surname)

...

 name(#Employee_Surname)

...

 mandatory('')
DEFINE_

...

MAP for(*output)

...

 class(#Givename)

...

 name(#Employee_Givename)

...

 mandatory('')
DEFINE_

...

MAP for(*output)

...

 class(#Deptment)

...

 name(#Employee_Department)

...

 mandatory('')
DEFINE_MAP for(*output) class(#Section) name(#Employee_Section) mandatory('')

...

     CHANGE field(#LISTENTRY)

...

 to('#PAYLOAD_ITEM.VALUE')
GET_ENTRY number(#LISTENTRY) from_list(#PAYLOAD)

...

     SET com(#Employee_ID)

...

 VALUE(#empno)

...

     SET com(#Employee_Surname)

...

 VALUE(#surname)

...

     SET com(#Employee_Givename)

...

 VALUE(#givename)

...

     SET com(#Employee_Department)

...

 VALUE(#deptment)
SET com(#Employee_Section) VALUE(#section)
ENDROUTINE
END_COM