首页 > 其他分享 >D365: 实体自定义暂存表到目标表

D365: 实体自定义暂存表到目标表

时间:2023-05-05 22:47:12浏览次数:42  
标签:staging 自定义 表到 DMFTransferStatus D365 ExecutionId && TransferStatus dmfD

当提供的模板文件不能满足D365数据表的数据结构或者模板的数据不能直接通过DMF导入到实际的业务表时,我们按照模板自定义实体后,可以实现如下方法来将暂存表的数据通过一定的逻辑处理,将数据转换到我们的业务表中,sample代码如下

public static container copyCustomStagingToTarget(DMFDefinitionGroupExecution _dmfDefinitionGroupExecution)
{
    CustCustomerStaging staging;
    CustCustomerStaging stagingUpd;
    
    // Iterate through all records with have not been processed
    while select forupdate staging
        where staging.ExecutionId    == _dmfDefinitionGroupExecution.ExecutionId
        &&   (staging.TransferStatus == DMFTransferStatus::NotStarted || staging.TransferStatus == DMFTransferStatus::Validated)
    {
        try
        {
            ttsbegin;
            // Do your stuff

            staging.TransferStatus = DMFTransferStatus::Completed;
            staging.update();
            ttscommit;
        }
        catch (Exception::Error)
        {
            error("Something wrong has happened.");
        }
    }    

    ttsbegin;
    update_recordset staging
        setting TransferStatus = DMFTransferStatus::Error
        where staging.DefinitionGroup == _dmfDefinitionGroupExecution.DefinitionGroup
        &&    staging.ExecutionId     == _dmfDefinitionGroupExecution.ExecutionId
        &&   (staging.TransferStatus == DMFTransferStatus::NotStarted || staging.TransferStatus == DMFTransferStatus::Validated);
    ttscommit;

    // Method returns a container containing the quantities of inserted and updated records.
    select count(RecId) from staging
        where staging.DefinitionGroup == _dmfDefinitionGroupExecution.DefinitionGroup
            && staging.ExecutionId == _dmfDefinitionGroupExecution.ExecutionId
            && staging.TransferStatus == DMFTransferStatus::Completed;

    return [staging.RecId, 0];
}

需要注意的是,如下想上面的方法被正常执行,我们需要勾上实体上的Set-based processing字段

标签:staging,自定义,表到,DMFTransferStatus,D365,ExecutionId,&&,TransferStatus,dmfD
From: https://www.cnblogs.com/dingkui/p/17375589.html

相关文章

  • 自定义mybatis插件之全局数据过滤
    目录一、介绍二、实现三、效果四、源码一、介绍通过开发mybatis的插件来实现对全局的sql查询语句进行拦截,并新增全局的过滤条件做到无感知的数据过滤,比如全局过滤某个租户的数据。二、实现实现思路1、通过mybatis的拦截器拦截所有查询的sql2、使用Druid里面的工具类解析sq......
  • 微信小程序-根据同声传译插件创建语音转文字的自定义插件
    使用了vantweapp组件.js//page/common/components/voice/voice.jsimportToastfrom'../../../../vant-weapp/dist/toast/toast';//引入插件:微信同声传译varplugin=requirePlugin("WechatVoice");//获取全局唯一的语音识别管理器recordRecoManagerletmanager=pl......
  • .net maui blazor创建存储自定义目录文件
    stringdir="/storage/emulated/0/Android/data/com.example.myapp/data";if(!Directory.Exists(dir)){Directory.CreateDirectory(dir);}stringpath=Path.Combine(dir,"a.txt");File.WriteAllText(path,"abc");//com.example.myapp......
  • djangoadmin后台搜索结果筛选自定义模版
    django-admin对搜索结果进行自定义统计,可参考代码如下:defchangelist_view(self,request,extra_context=None):#cur1_time=datetime.now()data_dict={}value=request.GET.get('q',"")bill_cycle=request.GET.get('bi......
  • Linux配置添加自定义shell脚本需要的PATH
    Linux添加自定义shell脚本记录下,便于之后复习使用。1.确定一个目录e.g.#到达用户目录cd~#创建一个bin文件夹来放脚本文件mkdirbincd./binpwd得到的是/root/bin2.把这个路径放到PATH中cd~#可以用ls-a看一看有没有.branrc文件vim~/.bashrc#编辑最后加入......
  • mybatis批量插入支持默认值和自定义id生成策略的免写sql插件
    最近做项目时用了免写sql的插件但是发现批量操作不满足现有需求。所以,在原有基础之上扩展了批量的操作支持[支持插入默认值和自定义id生成策略]。使用方法如下:一:在pom文件中引入jar配置<dependency><groupId>io.gitee.wang_ming_yi</groupId><artifactId>easy_mapper</......
  • SDN 编写Python脚本创建自定义网络拓扑
    编写Python脚本创建自定义网络拓扑,包括5台交换机5台主机frommininet.topoimportTopoclassRingTopo(Topo):def__init__(self):Topo.__init__(self)#Createswitchess_num=5h_num=5switches=[]hosts......
  • 在线直播系统源码,默认倒计时,自定义输入时间倒计时
    在线直播系统源码,默认倒计时,自定义输入时间倒计时html部分代码 <divid="app">  <inputtype="num"v-model="time">  <inputtype="button" @click="click_input(time)"value="点击">  <div>{{get_cod......
  • 【HarmonyOS】自定义组件之ArkUI实现通用标题栏组件
     【关键字】标题栏、常用内置组件整合、ArkUI、自定义组件 1、写在前面在上一篇文章中我们通过Java语言实现了一个通用的标题栏组件,有需要的可以看下,文章地址:https://developer.huawei.com/consumer/cn/forum/topic/0202117373459738584?fid=0101587866109860105现在很多......
  • 自定义函数实现分组统计
    1.通过自定义的函数实现分组统计: 2.自定义函数,对索引进行修改取不同产品名称的数量: ......