Running the CATPDMReconcileEV4Batch Batch Process

The reconciliation can be automated by running the CATPDMReconcileEV4Batch batch process. This batch is driven via a command line giving as input the root of the assembly on which the reconciliation will be done. You can now execute multiple reconciliations in a single batch.
  1. To retrieve the help information:

    CATPDMReconcileEV4Batch -help

  2. To run the reconciliation:

    -file fileName [-structure] [-simul (Execute|Rule|NoRule]] [-checkDoc numberOfDocs]
    [-publication docName] [-reload docName] [-keepExternal docName]
    [-forceKeepExternal] [-queryName QueryName]
    [-newVersion object] [-newRevision object] [-forceNewVersion][-forceKeepExternal]
    [-xml fileName] [-outputFileList] [-statistics]
    [-GR globalSetName [globalSetInput] [/filter [filterInput] [/otherFilters]]]
    -noDraftingUpdate -noPartUpdate
    [-batchInput fileName]
    [-batchReport fileName]
    [-connect xxx] [-role xxx] [-user xxx] [-pwd xxx] [-spwd xxx]
    [-inxml fileName [-completeWithDefaultMapping] ] [-epexml fileName]


Arguments

Connection Information

-connect xxx : Provide a connection string describing how to establish a connection to VPDM repository.
-role xxx : Role used for ENOVIA V5 VPM connection.
-user xxx : User for ENOVIA V5 VPM connection.
-pwd xxx : User password for database connection.
-spwd xxx : Secure password for database connection.

General Information

-help Help
-file filename : Name of the CATIA file to be loaded and reconciled. Several file statements are possible.
-checkDoc Provide number of documents in the Reconcile session for validation.
-statistics : Displayexecutionstatistics.
-xml filename : Stream Reconciliation session in an XML file.
-inxml Enables to specify an input EpeXML file to restart the batch from a previous reconcilation session; this option should be used with -completeWithDefaultMapping if the XML file does not specify the mapping for all objects.
-epexml Enables to generate an EpeXML file that will be used with option -inxml.
-simul Execute|Rule : Enable not to execute Save or Apply in VPDM.
Execute means that reconciliation is applied, but the save is not done.
Rule means that the mapping and rules are set but neither the reconciliation is applied nor the save is done.
NoRule means that only reconciliation session creation is done.
-queryName queryname : Name of the criterion to be searched (Default is Query by object Id).
-batchInput: Enable to provide one or more reconciliation commands in an XML.
                    All these commands will be run in a single batch execution.
-batchReport: Provide an XML report of execution of all the reconciliation commands.

Save Options

-noDraftingUpdate : prevents the automatic update of CATDrawings associated to modified parts and modified assemblies (note that when using this option on modified assemblies, it is strongly recommended that it only be used on publication exposed CATProducts). This option can be used when no local updates have been made to the drawings.
-noPartUpdate:
Enables saving of the Product or Part in the database before updating it.

Rule Management

-reload docname : Enable to set rule to Reload instead of Overwrite for an object with a specified name. Several reload statements are possible.
-keepExternal docname : Enable to set rule to Keep as External reference for an unloaded document. Several keepExternal statements are possible.
-forceKeepExternal : Enable to force usage of Keep as External rule for broken link (document not found) where query return no document.

-newVersion object : object can either be the name of a document or a part version. When a document is specified (for example PartA.CATPart) the New Version rule will be set on the publication exposed CATPart. When a part version is specified, the New Version rule will be set on all eligible mapped objects under the specified part version. Several new version statements can be issued in one command.

-newRevision docName : sets the new revision rule on the specified document. Several new revision statements can be issued in one command.

-forceNewVersion: results in all documents (for example, CATDrawings) being saved as new revisions and all publication exposed CATProducts and CATParts being saved as new versions.

Note: newVersion/-newRevision will not be available with structure exposed CATProduct if the global rules "Magic Reconciliation" or "Mapping based on VPDM view" is used for querying and mapping the objects.


-structure : Enable to switch from a full document Publication Exposed to a mode where CATProducts are save in Structure Exposed.
-publication docname : Enable to set an included CATProduct document to be Publication Exposed when the main CATProduct document is in Structure Exposed mode. (only possible when -structure parameter is used).
-outputFileList : Enables to define the file path of the output file containing the files that will be reconciled.
-GR globalSetName [globalSetInput] [/filter [filterInput] [/otherFilters]]: used to run a global set with a filter. globalSet is the name of the global set, globalSetInput is any input parameters that are used with the global set, /filter allows you to apply a filter (SearchNode or custom) to select objects for the global set, filterInput is any input parameters that are used with the filter and /otherFilters

  • The mapping may not be complete when using global sets, so the -completeWithDefaultMapping option should be used to complete the mapping. To reinforce this, when using global sets if -completeWithDefaultMapping is not used the following command line options will be ignored: -queryName QueryName, -structure, -publication docName, -reload docName, -keepExternal docName, -forceKeepExternal, -newVersion object, -newRevision docName, -forceNewVersion.
  • If the global rule encounters an error, the batch will continue if the error is not a fatal error. For all default global rules, the errors are not fatal and if encountered a messeage will be given and the global rule will continue on to the next object.

Global Set Parameter Meaning Values
New forceNew force even on mapped objects YES (or TRUE)
NO (or FALSE)

NO is the default.

Query queryName query name Name of query (as displayed in the reconciliater panel)
skipWhenMapped skip or not already mapped objects YES (or TRUE)
NO (or FALSE)

NO is the default.

implicitRule the rule of all objects that are mapped is set to Overwrite and all objects that are not mapped is set to New. YES (or TRUE)
NO (or FALSE)

YES is the default.

StructureExposed No parameters
PublicationExposed No parameters
Overwrite forceOverwrite force overwrite even on mapped objects YES (or TRUE)
NO (or FALSE)

NO is the default.

NewVersion


forceNewVersion all objects, even those with rules already defined on them, will be set to New Version, if possible. YES (or TRUE)
NO (or FALSE)

NO is the default.
onlyOnDocuments version only part version of the CATPart documents YES (or TRUE)
NO (or FALSE)

NO is the default.

Reload forceReload force reload even on mapped objects YES (or TRUE)
NO (or FALSE)

NO is the default.

NewRevision forceNewRevision force new revision even on mapped objects YES (or TRUE)
NO (or FALSE)

NO is the default.
KeepExternal forceKeepExternal force keep external even on mapped objects YES (or TRUE)
NO (or FALSE)

NO is the default.

MagicReconEV4 forcePersistency  [boolean] force the persistency even if already applied on object. (false means we will keep existing mapping, if any.) If forcePersistency is TRUE then ForceMapping will be consider as a TRUE as change in persistency will lead to unmapping the object. YES (or TRUE)
NO (or FALSE)

YES is the default.

forceMapping  [boolean] force the automatic mapping even if already applied on object. (false means we will keep existing mapping, if any.) YES (or TRUE)
NO (or FALSE)

YES is the default.

forceRule [boolean] force the automatic application of rule if already applied on object (false means we will keep selected rule, if any.) YES (or TRUE)
NO (or FALSE)

YES is the default.

SearchNode Filter Inputs Availability Meaning Values
Type   The Scm object type ANY, PART, ANYDOC, DOC, PROXYDOC
DOCTYPE Only available if TYPE is ANYDOC, DOC or PROXYDOC The extension of document Any string (reg exp)
SUBTREE Name of the Scm object considered as root of the tree Any string
NAME Name of Scm object Any string (reg exp)
FILENAME Only available if TYPE is ANYDOC, DOC or PROXYDOC Name of document file Any string (reg exp)
STATE   Status (Mapped/Not mapped) ANY, MAPPED, NOTMAPPED
MODE   Exposition mode ANY, PUBEXP, STRUCTEXP
%ATTRNAME%   Attr Name and Value. Based on RegExp.
%ATTRNAME% token to be replaced by real display name (NLS) of the attribute (for instance “Part Version”)
Any string (reg exp)

SearchNode algorithm locates all the objects of the Reconcile Session that corresponds to the criteria given in the list below:

  • Type Criterion: Corresponds to the type of the object to locate. The value is ANY, if the criterion is not set. Similarly, for Part Version the value is PART, for documents ANYDOC, for document loaded in memory DOC and for document pointed through broken links the value is PROXYDOC.
  • DOCTYPE Criterion: For filtering of document extension, the values set are ANYDOC, DOC or PROXYDOC. If the value is ANY, all the document extensions are accepted.
  • MODE Criterion: Corresponds to the exposition of the object to locate. The value is either STRUCTEXP or PUBEXP and ANY, if the criterion is not set.
  • State Criterion: Corresponds to the status of the object to locate. The value is ANY, if the criterion is not set. Similarly, for objects only mapped to a PDM object, the value is MAPPED and for only unmapped objects the value is NOTMAPPED.
  • Name Criterion: Corresponds to the name of the object as it appears in CATIA view.
  • Attribute Condition: Corresponds to the condition on attributes of the ScmObject.  Attribute refers to CV5 attributes and for mapped objects PLM attributes.

Building the reconciliation session from information given in an input XML file enables the user to explicitly indicate which rule and mapping will be applied to each object to be reconciled.

The basic scenario is as follows:

  • First the batch user runs a reconciliation in simulation mode (simulation mode is specified using the
    option -simul on the batch command line) and using the command line parameter -epexml so that the batch will generate an XML file (called EpeXML file) of the reconciliation session state. This XML file will be used as a pre-valuated template in the ensuing steps.
  • The user will eventually have to complete the generated EpeXML file to resolve those ambiguities that were not resolved by the simulation (e.g. if the query returned several results, the mapping must be completed by hand). The user can also modify the EpeXML file to explicitly indicate the rule and mapping to be applied to a given object.
  • Then using the completed EpeXML file, the user reruns the reconciliation batch with the command line parameter -inxml.
  • The batch can be rerun multiple times using the same EpeXML file with -inxml command line parameter.
The new XML file provided by –batchInput keyword manages the specifications on reconciled data without replacing the connection parameters. These XMLs are validated against the XML schema (XSD) provided in  ..\reffiles\SuppChain.
As the batch keywords varies from one PDM to another PDM, the XML provided after batchInput  is PDM dependant and must refer to the corresponding XSD For EV4, means input XML must be compliant with CATPDMReconcileEV4Batch.xsd (contains following tag xsi:SchemaLocation="CATPDMReconcileEV4Batch.xsd").

The output XML file contains all the input arguments in addition to the attributes like RC= "S_OK|E_FAIL". This XML file either adds some new tag to report the return code of the execution for each reconciliation session or lists the error messages raised during execution.


Here, is an example the XML file for ENOVIA V4: CATPDMReconcileEV4Batch.xml


You can customize the above generated output xml file to use it as input xml file just like you use it in old keyword manner. To do this, you have to remove the extra information tags present in output xml file like Return code and Error Messages (and possibly batchReport file Name) raised during execution (if any). Now, this xml file can be reused as input xml file.

Examples

When running batches, you must always use the command catstart, of which the following is an example (for more details, see the Infrastructure Guide, Basic Tasks, Starting a Session on Windows):

catstart -run "CATPDMReconcileEV4Batch -file \"E:\DataREC\RECV5_TEST1rootprc.CATProduct\" -structure -queryName \"Query by object Id\" -user odtitp -pwd xxxxx -role VPMADMIN.ADMIN.DEFAULT -connect \"servername:portnumber\""

  1. Reconciliation of an assembly

  2. Here is an example of the command line to use to reconcile an assembly RECV5_TEST1rootprc.CATProduct:

    set CNEXTOUTPUT=E:\tmp\trace.txt
    CATPDMReconcileEV4Batch -file E:\DataREC\RECV5_TEST1rootprc.CATProduct -structure -user odtitp -spwd xxxxx -role VPMADMIN.ADMIN.DEFAULT -connect "xxxxxxxxx:nnnn"

  3. Reconciliation with reload of CATParts

    Here is an example of the command line to use to reconcile an assembly RECV5_TEST1rootprc.CATProduct containing two CATParts RECV5_TESTPART1.CATPart and RECV5_TESTPART2.CATPart:

    CATPDMReconcileEV4Batch -file etiE:\DataREC\RECV5_TEST1rootprc.CATProduct -reload RECV5_TESTPART1.CATPart -reload RECV5_TESTPART2.CATPart

  4. Reconciliation with sub-products as publication exposed

    Here is an example of the command line to use to reconcile an assembly RECV5_TEST1rootprc.CATProduct containing two sub-products RECV5_TEST1prd1.CATProduct and RECV5_TEST1prd2.CATProduct:

    CATPDMReconcileEV4Batch -file E:\DataREC\RECV5_TEST1rootprc.CATProduct -publication RECV5_TEST1prd1.CATProduct -publication RECV5_TEST1prd1.CATProduct

  5. Reconciliation with CATParts as KeepExternal

    Here is an example of the command line to use to reconcile an assembly RECV5_TEST1rootprc.CATProduct containing two CATParts RECV5_TESTPART1.CATPart and RECV5_TESTPART2.CATPart that are missing (broken link):

    CATPDMReconcileEV4Batch -file E:\DataREC\RECV5_TEST1rootprc.CATProduct -keepExternal RECV5_TESTPART1.CATPart -keepExternal RECV5_TESTPART2.CATPart

  6. Reconciliation with CATParts when the Part Number is different from the file name

    Here is an example of the command line to use to reconcile an assembly RECV5_TEST1rootprc.CATProduct containing two CATParts RECV5_TESTPART1.CATPart and RECV5_TESTPART2.CATPart when the part number is not equal to the file name. The queries Query by Object Id and Easy Query will fail in this case, the correct query to use is Query Document by Part Id.

    CATPDMReconcileEV4Batch -file E:\DataREC\RECV5_TEST1rootprc.CATProduct

  7. Reconciliation using global set.

    CATPDMReconcileEV4Batch -file E:\DataREC\RECV5_TEST1rootprc.CATProduct -GR PublicationExposed -file E:\DataREC\RECV5_TEST1rootprc.CATProduct -GR StructureExposed -GR Query "queryName=Intermediate Query" -GR Overwrite -GR Reload SearchNode "ScmType=PART" "FileName=RECV5_TESTPART2.CATPart "

    CATPDMReconcileEV4Batch -file E:\DataREC\RECV5_TEST1rootprc.CATProduct -GR PublicationExposed -file E:\DataREC\RECV5_TEST1rootprc.CATProduct -GR StructureExposed -GR Query "queryName=Intermediate Query" -GR Overwrite -GR New SearchNode "State=NOTMAPPED"

  8. Reconciliation using Magic Reconciliation global set by using:

    CATPDMReconcileEV4Batch -file c:\temp\RECV5_TEST1rootprc.CATProduct -Structure -GR MagicReconEV4 "queryName=Simple Query" "forcePersistency=FALSE"
  9. Reconciliation preventing the automatic update of drawings.
    In this example, a CATPart and its drawing are saved to ENOVIA V5 VPM. The CATPart is modified by the supplier and the OEM launches the batch file on the drawing to update only the CATPart:
    CATPDMReconcileEV5Batch -file "C:\tmpRedrw.CATDrawing" -noDraftingUpdate

  10. Reconcile inhibits the update of Product or Part by using
    CATPDMReconcileEV4Batch –file PRC.CATProduct –noPartUpdate –structure –server ServerName–user MyId–role VPMADMIN-pwd MyPwd

  11. Reconciliation of multiple files for batch execution by using:
    CATPDMReconcileEV4Batch -batchInput "/u/users/p2v/multi/MultiRecV4Batch..xml" -batchReport "/u/users/p2v/multi/OutputReport.xml" -connect SAMPLE

Limitations

  1. Configured data is not supported.

  2. Only one assembly structure (one PRC):

    The -file option can be used to reconcile several CATProducts, but the reconciliation will succeed only if all the listed CATProducts compose the same assembly structure because only one assembly root per reconciliation is accepted.

  3. Getting traces:

    The batch is based on CATIA V5 ApplicationFrame infrastructure, therefore a CATIA V5 window may appear when running the batch.
    The batch therefore needs a running window manager.
    The batch runs as a background task and its traces are not displayed in the window from which it was started. Traces can be retrieved using CNEXTOUTPUT environment variable.

  4. -spwd option:

    • This information cannot be hidden if running processes are listed using ps -ef | grep pwd command.

    • –spwd and –pwd options are incompatible options.

Diagnostics

Possible exit status values are:

  • 0: Successful completion.
  • 4: Failure due to one or more of the standalone documents (-adddoc documents).
  • 8: Failure due to any of the following:
  • Query failed
  • Load of PDM data failed
  • Save of loaded data failed
  • 202: Connection failed.