Want to create a record in postGresSQL from servicenow

Ajay Ekka
Tera Contributor

I have a requirement that whenever catalog task is approved a record to be created on PostgreSQL.

 

Created a WF and calling the script include. The script include is getting called and record is created on ecc queue but in PostgreSQL record is not getting created. I believe I am making some mistake or not handling after ecc queue. 

 

Could you help assist if on this?

 

How to created record on ecc queue(Do I need to send connection detail to ecc queue) and how to process ecc queue record to update external database?

 

---------------------------------------------------------------

createWMRRecord: function(current, systemStr) {

        // Called by a scheduled script job, cannot be a private function
        //var securityData = JSON.parse(securityDataStr);
        //var securityData = JSON.parse(securityDataStr);
       
        gs.log("connect Testing:"+connect);
        var dataSource = new GlideRecord("sys_data_source");
        var currentDate = new GlideDateTime();
        if (systemStr == "ITSS WMR") {
            dataSource.get(gs.getProperty("-----------------"));
        }

        var ritmRec = new GlideRecord("sc_req_item");
        ritmRec.addQuery('sys_id', current);
        ritmRec.query();
        var wmrRecs;
        if (ritmRec.next()) {
            gs.log("warehouse_name JSON" + ritmRec.variables.warehouse_name);
            wmrRecs = ritmRec.variables.warehouse_name.toString();
        }
        var warehouseName = wmrRecs.split(",");
        for (var i = 0; i < warehouseName.length; i++) {
            var word = warehouseName[i];
            var scrtyRecords = new GlideRecord("u_eda_scrty_s_scrty");
            scrtyRecords.addQuery('u_corp_data_ownr_cd_bp_whs_name', word);
            scrtyRecords.query();
            while (scrtyRecords.next()) {
                var company_name = scrtyRecords.u_scrty_typ_cd;
                var security_entity = scrtyRecords.u_scrty_enty_cd;
                var entity_description = scrtyRecords.u_scrty_enty_descr;
            }
            var midServer = new GlideRecord("ecc_agent");
            midServer.addQuery("status", "Up");
            midServer.addQuery("validated", true);
            midServer.orderBy("name");
            midServer.query();
            if (midServer.next()) {
                var insertProbe = new JDBCProbe(midServer.name);
                  gs.log("JDBCProbe Testing"+insertProbe);
                insertProbe.setDataSource(dataSource.sys_id);
                
                insertProbe.addParameter("skip_sensor", "true");
                insertProbe.setTable("eda_scrty.s_scrty");
                insertProbe.setFunction("INSERT");
                insertProbe.addField("DATA_SRC_CD", systemStr);
                insertProbe.addField("ENV_SRC_CD", "GLOBAL");
                insertProbe.addField("SCRTY_USER_ID", userID);
                insertProbe.addField("SCRTY_TYP_CD", company_name);
                insertProbe.addField("EXTD_FIN_RPTG_IND", "Y");
                insertProbe.addField("SCRTY_LVL_CD", '10');
                insertProbe.addField("SCRTY_ENTY_CD", security_entity);
                insertProbe.addField("SCRTY_ENTY_DESCR", entity_description);
                //Compile Created and Updated TimeStamp fields
                var gdt = new GlideDateTime();
                var gt = gdt.getLocalTime();
                var gd = new GlideDate();
                var TimeStampValue = gd.getByFormat('yyyy-MM-dd') + gt.getByFormat(' HH:mm:ss');
                gs.info("CMS TimeStamp: " + TimeStampValue);
                insertProbe.addTimestampField('ETL_CRT_DTM', TimeStampValue, 'yyyy-MM-dd HH:mm:ss');
                insertProbe.addTimestampField('ETL_UPDT_DTM', TimeStampValue, 'yyyy-MM-dd HH:mm:ss');
                insertProbe.create();
            }
 
----------------------------------------------------------
 
Thanks in Advance..
           

        
0 REPLIES 0