[Main] #MAIN部の記載は基本部をコピーし、必要に応じて修正のこと。 dbuse(true) #3つ目からsqlのパラメータを設定する #initparam(printMode,reportId,s_id) initparam(printMode,reportId,dt_from,dt_to,uri_no,tokui_cd,syohin_nm,title,outputfile,s_id,option1) deforgpage(blank) defheadarea(hed) defbodyarea(mei) #SQLセクションの名前を設定 subroutine(SelectRecords_Jisya) subroutine(SelectRecords) #描画部のセクション名、SQLで取得した値を格納する配列名、実行するルーチン名を設定 loop(PrintNormal,@rs1,Key1,Key2) printreport($printMode,true) #------------------------------------------------- # SQL実行_生産要領 #------------------------------------------------- [SelectRecords_Footer] new($param) addparam($param,$uri_no) dbselect(SelectRecords_Footer,@rs2,$param) #------------------------------------------------- # SQL実行_工程納期 #------------------------------------------------- [SelectRecords_Process] new($param) addparam($param,$uri_no) dbselect(SelectRecords_Process,@rs2,$param) #------------------------------------------------- # SQL実行_自社 #------------------------------------------------- [SelectRecords_Jisya] new($param) dbselect(SelectRecords_Jisya,@rs0,$param) #------------------------------------------------- # SQL実行 #------------------------------------------------- [SelectRecords] #検索条件をparamに格納。SQL内で&(数字)で渡すことができる。 new($param) #addparam($param,$s_id) addparam($param,$dt_from) addparam($param,$dt_to) addparam($param,$uri_no) addparam($param,$tokui_cd) addparam($param,$syohin_nm) addparam($param,$han_name) #1つめの引数で指定したSQLセクションを実行し、2つ目の引数(@rs1)に取得した値を格納、3つ目の引数は条件パラメータ) dbselect(SelectRecords,@rs1,$param) #------------------------------------------------- # フッター作成処理 #------------------------------------------------- [CreateFooter] putcell($_row,2,@rs2.spec_naiyo) putline(@rs2.spec_seq#,) formatspecialrow($_row,0,37,1) #------------------------------------------------- # Key1設定ルーチン #------------------------------------------------- [KeyInfo_key1] keyvalue(@rs1.den_no) keybreakproc(GroupBegin_key1,GroupEnd_key1) #------------------------------------------------- # Key1開始時 #------------------------------------------------- [GroupBegin_key1] deforgpage(blank) #Importするかどうか,FormatNormalするかどうか pageopen(true,false) deforgpage(formats) resetorg() #------------------------------------------------- # Key1終了時 #------------------------------------------------- [GroupEnd_key1] pageclose(false) #------------------------------------------------- # Key2設定ルーチン #------------------------------------------------- [KeyInfo_Key2] keyvalue(@rs1.den_no) keybreakproc(GroupBegin_Key2,GroupEnd_Key2) #------------------------------------------------- # Key2開始時 #------------------------------------------------- [GroupBegin_Key2] #ヘッダ作成処理 #putcell(行,列,値)は、指定の行列が一致するセルに指定の値を描画する関数。値にはSQLで取得したものも使える。 formatspecialrow(1,0,1,1) putcell(2,1,加工指図書) formatspecialrow(2,0,2,1) putcell(3,1,NO:) putcell(3,2,@rs1.kanri_no) putcell(3,10,@rs1.syori_ymd) formatspecialrow(3,0,3,1) putcell(4,1,PO:) putcell(4,2,@rs1.tok_hacyu_no_h) formatspecialrow(4,0,4,1) putcell(5,1,MESSRS.) putcell(5,10,Shipping Mark) formatspecialrow(5,0,5,1) putcell(5,2,@rs1.tok_nm) putcell(6,2,@rs1.addr1) putcell(7,2,@rs1.addr2) putcell(8,2,@rs1.tel_no) putcell(9,2,@rs1.tok_tan) putcell(9,10,@rs1.tok_nm) #putcell(10,10,@rs1.?) putcell(11,2,@rs1.nonyu_nm) putcell(11,10,@rs1.addr2) putcell(12,2,@rs1.konpo_keijo) putcell(13,2,@rs1.biko6) formatspecialrow(7,0,7,8) putcell(11,1,CONSIGNEE:) putcell(12,1,PACKING:) putcell(13,1,SHIPMENT:) formatspecialrow(11,0,11,3) putcell(15,1,DESTINATION:) putcell(16,1,PAYMENT:) putcell(15,2,@rs1.biko4) putcell(16,2,@rs1.payment_term) formatspecialrow(15,0,15,2) #TODO 埋め込み #putcell(17,8,BANK ADDRESS:) #putcell(19,2,ACCOUNT NO:) #putcell(20,2,SWIFT CODE:) putcell(22,1,NO.) putcell(22,2,TYPE) putcell(22,3,KIND) putcell(22,4,THICKNESS) putcell(22,5,DESCRIPTION) putcell(22,8,Q'TY) putcell(22,10,UNIT PRICE) putcell(22,12,AMOUNT) formatspecialrow(22,0,22,1) putcell(24,3,"YAMAMOTO" CLOSED CELL SPONGE RUBBER SHEETS) putcell(24,10,@rs1.pay_kbn_nm) formatspecialrow(24,0,24,1) putcell(26,10,(per sheet)) #putcell(25,3,TYPE NO. 39-LL(BLACK) Size: 1.40M X 2.20M (+/-5%) ) #------------------------------------------------- # Key2終了時 #------------------------------------------------- [GroupEnd_Key2] #合計行作成処理 putcell($_row,5,@rs1.pay_kbn_nm) putcell($_row,8,$jucyu_su_sum) putcell($_row,9,@rs1.tani) putcell($_row,12,$kingaku_sum) formatspecialrow($_row,0,31,1) #formatspecialrow($_row,0,$format_total,1) putline(,,,,,,,$jucyu_su_sum#,,,$kingaku_sum#) #フッタ作成処理 #putline() #formatspecialrow($_row,0,32,1) putline() putcell($_row,13,(In USD)) formatspecialrow($_row,0,33,1) putline() formatspecialrow($_row,0,34,2) putline() putcell($_row,1,生産要領) formatspecialrow($_row,0,36,1) putline() formatspecialrow($_row,0,37,1) #生産要領 subroutine(SelectRecords_Footer) loop(CreateFooter,@rs2) #工程納期 putline() putcell($_row,8,予定納期) formatspecialrow($_row,0,42,1) putline() subroutine(SelectRecords_Process) loop(CreateProcess,@rs2) #putcell($_row,2,スキ) #formatspecialrow($_row,0,43,7) #putline() #putcell($_row,2,貼り) #putline() #putcell($_row,2,SCS) #putline() #putcell($_row,2,穴あけ) #putline() #putcell($_row,2,型押し) #putline() #putcell($_row,2,梱包) #putline() #putcell($_row,2,納期) #------------------------------------------------- # 明細表示処理 #------------------------------------------------- [PrintNormal] #formatspecialrow(開始行,対象行数,フォーマットの開始行,フォーマットの対象行数)は、定義ファイルで指定された、エクセルの罫線等の参照フォーマットから、描画する帳票に書式をコピーする関数。描画ファイルの書式を設定したい行と行数を最初の2引数に指定し、コピーしたい書式の行と行数を次の2引数に指定する。putcellとは違い、行単位で値を一括描画する。カンマ区切りでセルの位置を指定することができる。putlineの開始行は定義ファイルの明細領域設定部の開始行数から始まる。putlineを実行するたびに行送りは自動で行われる(1行ずつ) #formatspecialrow($_row,0,$format_meisai,1) putline(@rs1.row_no#,@rs1.dhin_nm#,@rs1.kind_s#,@rs1.size_h#,@rs1.hin_nm_s#,,,@rs1.jucyu_su#,@rs1.tani#,@rs1.tanka#,,@rs1.kingaku#) formatspecialrow(30,0,30,1) sum($jucyu_su_sum,@rs1.jucyu_su) sum($kingaku_sum,@rs1.kingaku) #sum($kingaku_sum_j,@rs1.kingaku_j) formatspecialrow($_row,0,30,1) #------------------------------------------------- # 工程納期 #------------------------------------------------- [CreateProcess] formatspecialrow($_row,0,43,1) putcell($_row,9,@rs2.koutei_ymd) putline(,@rs2.koutei_nm#,,,@rs2.seizou_tan_nm#,,,,)