Versions Compared

Key

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

...

「iiiFN15 – 社員用 PDF 出力を作成」を完成する RDMLX ソースコード

Code Block
* 苗字により選択された社員用の PDF ドキュメントを生成

...


When (= S)

...


#outsts := *blanks

...


#rep1page := 1

...


Select Fields(*all) From_File(pslmst2) With_Key(#surname) Nbr_Keys(*compute) Generic(*yes)

...


* ロゴ追加

...


Change Field(#JSMXCMD) To('ADD CONTENT(LOGO) ')

...


Use Builtin(JSMx_COMMAND) With_Args(#JSMXHDLE1 #JSMXCMD) To_Get(#JSMSTS #JSMMSG)

...


Execute Subroutine(CHECK_STS) With_Parms(#JSMXHDLE1)

...


Clear employee header list

...


Clr_List Named(#header)

...


 

...


#fullname := #surname + ', ' + #givename

...


Fetch Fields(#deptdesc) From_File(deptab) With_Key(#deptment)

...


Fetch Fields(#secdesc) From_File(sectab) With_Key(#deptment #section)

...


Add_Entry To_List(#header)

...


If_Status Is(*OKAY)

...


Change Field(#JSMXCMD) To('ADD CONTENT(HEADER) ')

...


Use Builtin(JSMx_COMMAND) With_Args(#JSMXHDLE1 #JSMXCMD #HEADER) To_Get(#JSMSTS #JSMMSG)

...


Execute Subroutine(CHECK_STS) With_Parms(#JSMXHDLE1)

...


#outsts := OK

...


Else

...


Message Msgtxt('社員が見つかりませんでした。苗字:' + #surname)

...


Leave

...


Endif

...


* 社員スキル・リストを追加
* 社員スキル取得
* ======================

...


Clr_List Named(#skilltbl)

...


Select Fields(#skills) From_File(pslskl) With_Key(#empno) Nbr_Keys(*compute) Generic(*yes) Val_Error(*next)

...


Fetch Fields(#skills) From_File(skltab) With_Key(#skilcode) Val_Error(*next)

...


#std_text := #dateacq.asdate( MMDDYY ).asdisplayString( MMsDDsCCYY )

...


if your locale date format is not MMDDYY, change this value to DDMMYY

...


Execute Subroutine(grade)

...


Add_Entry To_List(#skilltbl)

...


Endselect

...


 

...


If_Status Is_Not(*error)

...


Change Field(#JSMXCMD) To('ADD CONTENT(SKILLTBL) SERVICE_LIST(SKILDESC,GRADEDES,DATEACQ,COMMENT)')

...


Use Builtin(JSMX_COMMAND) With_Args(#JSMXHDLE1 #JSMXCMD) To_Get(#JSMSTS #JSMMSG #SKILLTBL)

...


Execute Subroutine(CHECK_STS) With_Parms(#JSMXHDLE1)

...


Else

...


Message Msgtxt('社員のスキルが見つかりません')

...


Endif

...


Execute Subroutine(footer)

...


#rep1page += 1

...


Endselect

...


If (#outsts = OK)

...


Execute Subroutine(CLOSE)

...


Else

...


Message Msgtxt('出力は生成されませんでした')

...


* JSM を閉じる

...


Use Builtin(JSMX_CLOSE) With_Args(#jsmxhdle1) To_Get(#JSMSTS #JSMMSG)

...


Execute Subroutine(CHECK_STS) With_Parms(#JSMXHDLE1)

...


Endif

...


* 部門により選択された社員用の PDF ドキュメントを生成

...


When (= D)

...


#rep1page := 1

...


#outsts := *blanks

...


Select Fields(*all) From_File(pslmst1) With_Key(#deptment) Nbr_Keys(*compute)

...


* ロゴ追加

...


Change Field(#JSMXCMD) To('ADD CONTENT(LOGO) ')

...


Use Builtin(JSMx_COMMAND) With_Args(#JSMXHDLE1 #JSMXCMD) To_Get(#JSMSTS #JSMMSG)

...


Execute Subroutine(CHECK_STS) With_Parms(#JSMXHDLE1)

...


Clear employee header list

...


Clr_List Named(#header)

...


 

...


#fullname := #surname + ', ' + #givename

...


Fetch Fields(#deptdesc) From_File(deptab) With_Key(#deptment)

...


Fetch Fields(#secdesc) From_File(sectab) With_Key(#deptment #section)

...


Add_Entry To_List(#header)

...


If_Status Is(*OKAY)

...


Change Field(#JSMXCMD) To('ADD CONTENT(HEADER) ')

...


Use Builtin(JSMx_COMMAND) With_Args(#JSMXHDLE1 #JSMXCMD #HEADER) To_Get(#JSMSTS #JSMMSG)

...


Execute Subroutine(CHECK_STS) With_Parms(#JSMXHDLE1)

...


#outsts := OK

...


Else

...


Message Msgtxt('社員が見つかりませんでした。部門:' + #deptment)

...


Leave

...


Endif

...


* 社員スキル・リストを追加
* 社員スキル取得
* ======================

...


Clr_List Named(#skilltbl)

...


Select Fields(#skills) From_File(pslskl) With_Key(#empno) Nbr_Keys(*compute) Val_Error(*next)

...


Fetch Fields(#skills) From_File(skltab) With_Key(#skilcode) Val_Error(*next)

...


#std_text := #dateacq.asdate( MMDDYY ).asdisplayString( MMsDDsCCYY )

...


* ロケールの日付形式が MMDDYY ではない場合、値をDDMMYY に変更

...


Execute Subroutine(grade)

...


Add_Entry To_List(#skilltbl)

...


Endselect

...


 

...


If_Status Is_Not(*error)

...


Change Field(#JSMXCMD) To('ADD CONTENT(SKILLTBL) SERVICE_LIST(SKILDESC,GRADEDES,DATEACQ,COMMENT)')

...


Use Builtin(JSMX_COMMAND) With_Args(#JSMXHDLE1 #JSMXCMD) To_Get(#JSMSTS #JSMMSG #SKILLTBL)

...


Execute Subroutine(CHECK_STS) With_Parms(#JSMXHDLE1)

...


Else

...


Message Msgtxt('社員のスキルが見つかりません')

...


Endif

...


Execute Subroutine(footer)

...


#rep1page += 1

...


Endselect

...


If (#outsts = OK)

...


Execute Subroutine(CLOSE)

...


Else

...


* JSM を閉じる

...


Use Builtin(JSMX_CLOSE) With_Args(#jsmxhdle1) To_Get(#JSMSTS #JSMMSG)

...


Execute Subroutine(CHECK_STS) With_Parms(#JSMXHDLE1)

...


Message Msgtxt('出力は生成されませんでした')

...


Endif