Page History
...
「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 |