You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

INT013 - 付録 C

INT013 - PDFDocumentService を使用して PDF ドキュメントを作成
「iiiFN15 – 社員用 PDF 出力を作成」を完成する RDMLX ソースコード

  • 苗字により選択された社員用の 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
  • No labels