不知道从什么时候开始,习惯用BOL MODEL来做一些东西的了。某个项目开始正式接触标准主数据的时候,开始了用MAINTAIN BAPI和BUPA的一些FM。然后在一段时间内是以此类的FM来开发的。BP相关的东西还好,标准的FM就那几个FG,感觉不是很难,而且BP相关的表也不是很多,做起来也很容易上手。后来某个机会学习了UI的东西,接触到了BOL这玩意。。。说实话,当时感觉吊炸天了啊,完全不用记多少FM是要找找RELATIONSHIP就好了。。。而且,常用的也不是很多,所以搞起来也还好。搞这个,简单的话呢是不用记太多东西的但下面几个必须要知道:

LV_HEADER_GUID = LNODE_BTADMINH->GET_PROPERTY_AS_STRING( 'GUID' )."获取实体的属性值的

LBTHEADERPARTNERSET ?= LNODE_BTADMINH->GET_RELATED_ENTITY( 'BTHeaderPartnerSet' )."根据名称找关联实体

LVALUE_NODE_ST_H ?= LBTPARTNERALL->GET_FIRST( ). 1..N关系中必须要有的循环等同于LOOP

LVALUE_NODE_ST_H ?= LBTPARTNERALL->GET_NEXT( ). 1..N关系中必须要有的循环等同于ENDLOOP

current->set_property(  EXPORTING iv_attr_name = 'STATUS'  iv_value = ‘E0007’ )."给实体的属性塞值

至于怎么开始怎么结束完全根据自己的程序功能来决定。

BOL MODEL简例)

 ENTITY NAME       ENTITY               Attribute

oneorder     (model)
btorder    (root)      
btadminh           BTOrderHeader
btitems            BTHeaderItemsExt
BTAdminI           BTOrderItemAll
BTProductI         BTItemProductExt         unit
BTSchedlinI        BTItemSchedlinExt
BTSchedlinI        BTSchedlinFirst         quantity
BTStatusI          BTItemStatusSet
BTStatus           BTStatusICurrent

ENTITY从上到下依次是REL来着。。。。简单的一个例子。

下面是一段获取国家的代码仅供参考,分析上面的东西:

IF LNODE_BTADMINH IS BOUND.
    LBTHEADERPARTNERSET ?= LNODE_BTADMINH->GET_RELATED_ENTITY( 'BTHeaderPartnerSet' ).
    IF LBTHEADERPARTNERSET IS BOUND.
      LBTPARTNERALL ?= LBTHEADERPARTNERSET->GET_RELATED_ENTITIES( IV_RELATION_NAME = 'BTPartnerAll' ).
      IF LBTPARTNERALL IS BOUND.
         LVALUE_NODE_ST_H ?= LBTPARTNERALL->GET_FIRST( ).
         CLEAR LV_PARTNER_FCT.
         WHILE LVALUE_NODE_ST_H IS BOUND.
            LV_PARTNER_FCT = LVALUE_NODE_ST_H->GET_PROPERTY_AS_STRING( 'PARTNER_FCT' ).
            IF LV_PARTNER_FCT = 'ZCUTM'.
               EXIT.
            ENDIF.
            LVALUE_NODE_ST_H ?= LBTPARTNERALL->GET_NEXT( ).
         ENDWHILE.
         IF LV_PARTNER_FCT = 'ZCUTM' AND LVALUE_NODE_ST_H IS BOUND.
            LBTPARTNERADDRESS_H ?= LVALUE_NODE_ST_H->GET_RELATED_ENTITY( 'BTPartnerAddress' ).
            CLEAR LWA_ADRC.
            IF LBTPARTNERADDRESS_H IS BOUND.
               LWA_ADRC-COUNTRY = LBTPARTNERADDRESS_H->GET_PROPERTY_AS_STRING( 'COUNTRY' ).
            ENDIF.
         ENDIF.
      ENDIF.
    ENDIF.
  ENDIF.

UI-简答的BOL的取值塞值的更多相关文章

  1. mybatis返回list很智能很简答的,只需要配置resultmap进行类型转换,你dao方法直接写返回值list<对应的object>就行了啊

    mybatis返回list很智能很简答的,只需要配置resultmap进行类型转换,你dao方法直接写返回值list<对应的object>就行了啊 dao方法 public List< ...

  2. 简答一波 HashMap 常见八股面试题 —— 算法系列(2)

    请点赞,你的点赞对我意义重大,满足下我的虚荣心. Hi,我是小彭.本文已收录到 GitHub · Android-NoteBook 中.这里有 Android 进阶成长知识体系,有志同道合的朋友,关注 ...

  3. linux系统运维面试题简答

    1.     简述常用高可用技术 解答: Keepalived:Keepalived是一个保证集群高可用的服务软件,用来防止单点故障,使用VRRP协议实现.在master和backup之间通过mast ...

  4. 【Python】安装python包时遇到"error: Microsoft Visual C++ 9.0 is required"的简答

    简答 在Windows下用pip安装Scrapy报如下错误, error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall ...

  5. [转载]ASP.NET中TextBox控件设立ReadOnly="true"后台取不到值

    原文地址:http://www.cnblogs.com/yxyht/archive/2013/03/02/2939883.html ASP.NET中TextBox控件设置ReadOnly=" ...

  6. IE10中session失效取不到值的问题

    在eworkflow工作流,ebiao报表,eform自定义表单产品升级到IE10的时候,系统登录后,总是会取不到session中的值. for j2ee版本和for dotnet版本都一样取不到值. ...

  7. @Value取不到值引出的spring的2种配置文件applicationContext.xml和xxx-servlet.xml

    项目中经常会用到配置文件,定义成properties的形式比较常见,为了方便使用一般在spring配置文件中做如下配置: <context:property-placeholder ignore ...

  8. struts2下s:iterator取不出值

    1:问题起因:通过action方法连接数据库取出Arraylist集合,在前台页面遍历显示无数据,用s:debug查看 stack里有值,用了各种方法,包括session传值,但是仍然取不出来. 2: ...

  9. [转]用Linq取CheckBoxList選取項目的值

    本文转自:http://www.dotblogs.com.tw/hatelove/archive/2011/11/17/linq-checkboxlist-items-selected-values. ...

随机推荐

  1. 2016ACM/ICPC亚洲区大连站-重现赛

    题目链接:http://acm.hdu.edu.cn/search.php?field=problem&key=2016ACM%2FICPC%D1%C7%D6%DE%C7%F8%B4%F3%C ...

  2. [原创] 使用LP Wizard 10.5 制作 Allegro PCB封装

    本文只讲述使用 Calculator 和 Wizard 功能制作封装,通常学会使用这种方法,通用的标准封装就都可以生成了.下面以一个简单的SOIC-8封装的芯片来说明软件使用方法. 第一步,查找相关d ...

  3. Mybatis+SpringMVC+Spring整合

    1,先添加spring支持: applicationContext.xml  配在WEBINF下,四个命名空间:aop,context,tx,p 配Listener:ContextLoaderList ...

  4. LSMW应用

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  5. .net 常用Response.ContentType

    来源:http://blog.csdn.net/navy235/article/details/5982319 不同的ContentType 会影响客户端所看到的效果.默认的ContentType为 ...

  6. js操作cookie,实现登录密码保存 [转]

    转自:http://blog.csdn.net/zyujie/article/details/8727828 ( 谢谢博主了) js操作cookie,实现登录密码保存.cookie的存放方式是以键值对 ...

  7. [转载] 深入 superviser

    模块简介 新人接触线上的时候一般都会碰到supervise这个工具,导师对这个模块的解释一般就是,这个模块是监控进程,当进程挂掉之后,supervise会将进程启动.这样当进程出 现问题,如因出cor ...

  8. poj1244Slots of Fun

    链接 几何的简单题,建立坐标,判断相等以及不共线 #include <iostream> #include<cstdio> #include<cstring> #i ...

  9. Vnc viewer与windows之间的复制粘贴

    用VNC连接到Linux之后,最纠结的问题就是无法复制粘贴.其实很简单,在Linux里面,打开一个终端,然后输入命令: vncconfig 之后,会弹出一个窗口 不要关闭那个小窗口 之后,就可以愉快的 ...

  10. linux下的挂载点和分区是什么关系

    Linux 使用字母和数字的组合来指代磁盘分区.这可能有些使人迷惑不解,特别是如果你以前使用“C 驱动器”这种方法来指代硬盘及它们的分区.在 DOS/Windows 的世界里,分区是用下列方法命名的: ...