Generator (Text File)
Stores the values in a Any text type data item into a File type data item as a Text. It does not affect existing files. Just add.
2020-09-28 (C) Questetra, Inc. (MIT License)
Configs
  • A: File type data item to save text file *
  • B: Saving file name * #{EL}
  • C: Contents of text file * #{EL}
Script
//////// START "main()" ////////
main();
function main(){

//// == Config Retrieving & Caluculating / 工程コンフィグの参照 & 演算 ==
const textdata = configs.get( "Text_Data" );
const filename = configs.get( "File_Name" );
const filedataId = configs.get( "File_DataId" );


if(filename === "" ||filename === null) {
throw new Error( "File Name is blank" );
}

myFiles = retrieveData( textdata, filename, filedataId );
updateData( filedataId, myFiles );
}


/**
* テキストデータをファイル型データに変換する
* @param {String} textdata テキストファイルの内容
* @param {String} filename 保存ファイル名
* @param {String} filedataId テキストファイルを保存するファイル型データ項目のデータ定義番号
* @return {java.util.ArrayList<QfileView>} myFiles テキストデータをファイル型データとして追加した配列
*/
function retrieveData( textdata, filename, filedataId ) {
// ワークフローデータからファイル型データの配列を取得
let myFiles = engine.findDataByNumber( filedataId );// java.util.ArrayList
if( myFiles === null ){ myFiles = new java.util.ArrayList(); }
if(textdata === null) { textdata = "";}

// テキストデータをファイル型データに変換して追加した配列を返す
myFiles.add(
new com.questetra.bpms.core.event.scripttask.NewQfile(
filename,
"text/plain; charset=UTF-8",
textdata
)
);
return myFiles;
}

//// == Data Updating / ワークフローデータへの代入 ==
function updateData( filedataId, myFiles ){
engine.setDataByNumber( filedataId, myFiles );
}

Download

Capture

Notes

  1. The character code of the text file is UTF-8.
%d bloggers like this: