If you want to show custom columns in your applications job monitor there are several things to do.

  • At first you need to add the required coulmn to you applications engine database table TMBATCH. Please keep in mind that only STRING or INTEGER columns are supported. As a prefix PB_ for the coloumn name is required. E.g. PB_VENDORNAME. Please create the column name also in upper case letters.
  • After you added the new column(s) you also need to update the database views JMView and JobMonitor.
  • Now you can select the new column in the repository settings in content navigator. Iin my case the columns are called PB_NL and PB_KASSENTAG
Datacap Application configuration in Content Navigator repositories

Now comes the more difficult part. Because you cannot use existing SQL action from datacap to update these columns. If a task completes the batchpilot will overwrite the update columns with empty fields. The solution is to write a custom action to update the batchpilot information so that the information persists in the engine database.

I wrote a custom action in .NET. The following code function is used to update the Batchpilot

public bool UpdateJobMonitor(string column, string value)
        {

            dcSmart.SmartNav localSmartObj = new dcSmart.SmartNav(this);
            string input = localSmartObj.MetaWord(value);
            /// BatchPilot.set_XtraBatchFieldValue(column, input); ///
            DatacapRRBatchPilot.set_XtraBatchFieldValue(column, input);
            WriteLog("SmartNav: " + this);            
            WriteLog("TIMETOACT Setting Column: " + column + " To Value: " + input);
            
            return true;
        }

In the TheRRX.rrx file I added the following

<method name="UpdateJobMonitor">
      <p name="Spaltenname" type="string" qi="Der Name des Feldes aus dem gelesen wird.  Smart parameters are supported."/>
      <p name="Feldname" type="string" qi="Der name der Spalte die im JobMonitor geschrieben wird.  Smart parameters are supported."/>

      <ap>
        Updates the TMBATCH table with custom values for BatchPilot.
      </ap>
      <h>
        Eingabe von Spaltenname und Feldname<br/><br/>

        <e>
          <b>UpdateJobMonitor("PB_NIEDERLASSUNG,@P\Niederlassung")</b><br/>
          Smart Parameter erlaubt.
        </e>
      </h>
      <lvl>All levels.</lvl>
      <ret>
        <b>True,</b> if the action succeeds.  Otherwise, <b>False.</b>
      </ret>
    </method>

Here I read a fileds value and pass this as “input” variable to the action to update the batchpilot.

14 thoughts on “Creating a custom column in Job Monitor for IBM Datacap

  1. You just didn’t have to answer the phone when you saw who itwas. This way one will not forget even small equipment, which may otherwise be necessaryfor the practical joke. Good prank callsare a lot of fun, and can be the source of enjoyment for both the partiesinvolved.

Leave a Reply

Your email address will not be published. Required fields are marked *