# # ITSV GmbH # CCDB - Command and Control Database # # FILE: dquermfile_repqpnl.txt # DESCRIPTION: DQUERY definition for CCDB DQUERY "repqpnl" # @querytitle Newlines in Aktions-Parametern im Regelwerk reparieren @querydescription tauscht "/", gefolgt von "n" in Query-Parametern im Regelwerk gegen "\n" (linefeed-Zeichen) aus @group ADMIN @querytype function @function seqtrans.seqtrans # # legacy flowsequance configuration: # # @aexpression functions.flowsequence(that.session,that.query,that,that.pcallback) # @flowsequence readqrysql,repqrysql,writeqrysql # # @readqrysql_steptype dbselect # @readqrysql_sql select RWTYP,RWPARENT,RWNAME,RWVALUE,RWDESC from CCRW where RWTYP='DQUERYPARAM' and RWVALUE like ('%/' || 'n%') # @readqrysql_bindvars [] # @readqrysql_postsqlexpression console.log("…results:",util.inspect(that.results,{depth:20})); # # @repqrysql_steptype jsexpr # @repqrysql_qexpression for (var ri=0; ri>: readqrysql # pre_qexpression this.ppfx = this.fname+"("+this.dataname+")"; sql select RWTYP,RWPARENT,RWNAME,RWVALUE,RWDESC from CCRW where RWTYP='DQUERYPARAM' and RWVALUE like ('%/' || 'n%') result_varname rqres post_qexpression this.recstoprocess = this.rqres.getRowCount(); ppush(this,[this.ppfx+".START","RECSTOPROCESS="+this.recstoprocess,"",""]); # # <>: repqrysql # qexpression for (var ri=0; ri>: writeqrysql - setup loop # qexpression this.arrayindex = 0; this.curarray = this.rqres.rows; this.rowstowrite = this.curarray.length; # # <>: writeqrysql - check at loop entry # loop1: if (this.arrayindex>=this.curarray.length) goto loop1_end # # <>: writeqrysql - execute SQL in loop # qexpression this.curow = that.curarray[that.arrayindex]; if (this.curow[3] && this.curow[2]) { this.skip =false; } else { ppush(this,[this.ppfx+".SKIP_ROW="+this.arrayindex); this.skip = true; } # # <>: writeqrysql - check skip condition # if (this.skip) goto loop1_sql_bypass # # <>: writeqrysql - execute SQL # pre_qexpression this.cdata.newvalue = this.curow[3]; this.cdata.rwtyp = this.curow[0]; this.cdata.qryname = this.curow[1]; this.cdata.paramname= this.curow[2]; sql update CCRW set RWVALUE=::newvalue:: where RWTYP=::rwtyp:: and RWPARENT=::qryname:: and RWNAME=::paramname:: named_params newvalue,rwtyp,qryname,paramname result_varname updres post_qexpression ppush(this,[this.ppfx+"_WRITE_RECDONE","RECDONE="+this.arrayindex,"",""]); # # <>: writeqrysql - loop end increment # loop1_sql_bypass: qexpression this.arrayindex++; # # <>: writeqrysql - loop repeat # goto loop1 # # <>: finalexpression # loop1_end: qexpression ppush(this,[this.ppfx+".complete",that.rowstowrite+" rows updated","",""]);