2020-09-22 14:15发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我是SAP CLM的新手,我们需要删除主协议和合同文件。
我们在excel中存储了大量的主协议和合同文件。
我们需要从CLM系统中批量删除它。
感谢您的帮助
谢谢
Vaibhav Dhoke
以下解决方案已成功实施。
我已经编写了一个显式调用的脚本,该脚本将在计划的作业下执行。
第1步:我们需要创建两个布尔扩展,分别假设X,Y分别代表主协议和合同文档,这将作为删除MA和CD的标志。 当我在系统中上传CSV文件时,这些扩展名被标记为已选中。
步骤2:表FCI_SYS_DYN_CLASSES存储存在的类的扩展表。 我们需要找到扩展表sDynTableName,该表通过使用主协议类ID(即1004)来存储主协议的扩展名
查询就像是从FCI_SYS_DYN_CLASSES中的SELECT TABLE_NAME,其中ASSOC_CLASSID = 1004并且COLLECTION_NAME为NULL
第3步:一旦有了从第2步获得的sDynTableName动态扩展表,我们就必须查找那些使用诸如SELECT T1.UNIQUE_DOC_NAME FROM FCI_CONTRACT T1之类的查询来检查X的主协议," + sDynTableName +" T2 THER.T2.PARENT_OBJECT_ID = T1.OBJECTID并且X = 1
第4步:第3步的查询结果是主协议的收集,
我们将遍历此集合并获取已检查Y的参考合同文件(假设CDRef)
如果要删除合同文件,请使用以下代码。
contractDocumentHome.upgradeToEdit(CDRef);
contractDocumentHome.delete(CDRef);
contractDocumentHome.downgradeToView(CDRef);
如果我们想直接删除主协议。
MasterAgreementHome.upgradeToEdit(MARef);
MasterAgreementHome.delete(MARef)
MasterAgreementHome.save(MARef);
其中MARef是检查X的主协议参考。
根据您的要求(条件),使用上述方法删除主协议和合同文件。
contractDocumentHome和MasterAgreementHome分别是合同文档和主协议的home bean引用,可以通过以下IBeanHomeLocator的查找方法获得
MasterAgreementHome = IBeanHomeLocator.lookup(session,com.sap.eso.api.contracts.ContractIBeanHomeIfc.sHOME_NAME);
contractDocumentHome = IBeanHomeLocator.lookup(session,com.sap.eso.api.doccommon.doc.contract.ContractDocumentIBeanHomeIfc.sHOME_NAME);
P.S:应该进行正确的异常处理。
最多设置5个标签!
以下解决方案已成功实施。
我已经编写了一个显式调用的脚本,该脚本将在计划的作业下执行。
第1步:我们需要创建两个布尔扩展,分别假设X,Y分别代表主协议和合同文档,这将作为删除MA和CD的标志。 当我在系统中上传CSV文件时,这些扩展名被标记为已选中。
步骤2:表FCI_SYS_DYN_CLASSES存储存在的类的扩展表。 我们需要找到扩展表sDynTableName,该表通过使用主协议类ID(即1004)来存储主协议的扩展名
查询就像是从FCI_SYS_DYN_CLASSES中的SELECT TABLE_NAME,其中ASSOC_CLASSID = 1004并且COLLECTION_NAME为NULL
第3步:一旦有了从第2步获得的sDynTableName动态扩展表,我们就必须查找那些使用诸如SELECT T1.UNIQUE_DOC_NAME FROM FCI_CONTRACT T1之类的查询来检查X的主协议," + sDynTableName +" T2 THER.T2.PARENT_OBJECT_ID = T1.OBJECTID并且X = 1
第4步:第3步的查询结果是主协议的收集,
我们将遍历此集合并获取已检查Y的参考合同文件(假设CDRef)
如果要删除合同文件,请使用以下代码。
contractDocumentHome.upgradeToEdit(CDRef);
contractDocumentHome.delete(CDRef);
contractDocumentHome.downgradeToView(CDRef);
如果我们想直接删除主协议。
MasterAgreementHome.upgradeToEdit(MARef);
MasterAgreementHome.delete(MARef)
MasterAgreementHome.save(MARef);
其中MARef是检查X的主协议参考。
根据您的要求(条件),使用上述方法删除主协议和合同文件。
contractDocumentHome和MasterAgreementHome分别是合同文档和主协议的home bean引用,可以通过以下IBeanHomeLocator的查找方法获得
MasterAgreementHome = IBeanHomeLocator.lookup(session,com.sap.eso.api.contracts.ContractIBeanHomeIfc.sHOME_NAME);
contractDocumentHome = IBeanHomeLocator.lookup(session,com.sap.eso.api.doccommon.doc.contract.ContractDocumentIBeanHomeIfc.sHOME_NAME);
P.S:应该进行正确的异常处理。
一周热门 更多>