• 如何在FP中定义变量或者对资料进行增删改


    最近,工作中遇到一个问题,在dropship PO入库的时候,需要对PO进行一些检查,考虑了很多种的实现方法,最后还是改用FP来实现的,在FP的实现过程中,又用了两种不同的方法来实现,一种是定义变量,通过变量来进行操作;另外一种则是把相关资料insert到table中来进行相关操作。本文主要讲述定义变量和对数据进行增删改的两种方法。

    1、定义变量

    要在FP中定义变量,具体如下图中所示:

    image

    具体需要在什么时候定义变量,则按照自己的要求在condition处填入即可

    若需要在其余地方用到该变量的值,则可以通过以下方法来获取:

    image

    如上图中所示,红色部分的意思就是需要先取该变量中的值,然后再在后面加上“RT:”等一串字符串

    2、对table进行增删改的动作

    image

    如上图中所示,如果要对table进行增删改的话,需要在前面加上“begin”,且后面也需要加上end,上图中argument中输入的部分如下所示:

    ='begin INSERT INTO apps.xxpo_dropship_delivery(user_id,org_id,qty,rcv_transaction_id,so_line_id,item) VALUES ('||fnd_profile.value('USER_ID')||','||fnd_profile.value('mfg_organization_ID')||','||:RCV_TRANSACTION.TRANSACTION_QUANTITY||','||:rcv_transaction.rcv_transaction_id||','||xxpo_dropship_delivery_pkg.get_so_line_id(:rcv_transaction.po_line_location_id)||','''||:RCV_TRANSACTION.ITEM_NUMBER||''');
    COMMIT;
    end; '

    需要注意的地方
          1、在begin的前面有个单引号“'”,同样,在end的后面也有一个单引号,有一点点像我们平常写程序的时候拼接SQL的写法;
          2、注意最后一个地方,在insert到table中的时候,因为item栏位为varchar2的类型,所以最后有用三个单引号来实现,其中第一个单号的意思表示后面是一个转义字符,第二个单引号的意思表示这里需要插入一个单引号,最后一个单引号则是和前面的单引号进行匹配。

    不足之处

    1、因为我这个程式是在PO入库的时候检查,所以如果通过定义变量的方式来实现的话,如果PO Line过多,会导致程式出错。经过检查,发现是在FP的程式中,变量的长度不可以太长(在我的程式中,每勾选一行PO Line,变量都会增长;同理,如果取消则一行会缩短一点)

    2、如果通过insert table的方式来进行检查,如果勾选的资料比较多,会造成程式执行速度偏慢。

    所以,以上两种方法,各有各的长处和短处。

  • 相关阅读:
    使用v-if刷新生命周期
    vue element 上传图片 文件
    vue中既能获取事件对象又能获取参数的方法
    element-ui跨行
    云原生体系下 Serverless 弹性探索与实践
    PaddlePaddle:在 Serverless 架构上十几行代码实现 OCR 能力
    谷粒商城笔记-环境配置(2)——文件上传、java参数验证、递归,分页、事务
    java 前端技术选型(Vue.js+Element.ui)
    java实现woff字体解析,逆向反爬
    自定义dom重现函数useResume
  • 原文地址:https://www.cnblogs.com/echochen/p/2311287.html
Copyright © 2020-2023  润新知