不知道从什么时候开始,习惯用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. wince下的CPU和内存占用率计算

    #include <Windows.h> DWORD Caculation_CPU(LPVOID lpVoid) { MEMORYSTATUS MemoryInfo; DWORD Perc ...

  2. Ubuntu下手动安装VMware Tools步骤

    To mount the CD image and extract the contents: Power on the virtual machine. Log in to the virtual ...

  3. iOS案例:读取指定txt文件,并把文件中的内容输出出来

    用到的是NSString中的initWithContentsOfFile: encoding方法 // // main.m // 读取指定文件并输出内容 // // Created by Apple ...

  4. 微信公众平台开发详细步骤与java代码

    1.微信公众平台设置 首先在https://mp.weixin.qq.com/注册一个公众平台账号(服务号.订阅号.企业号的区别) 微信公众平台地址:https://mp.weixin.qq.com ...

  5. Servlet学习

    编写Servlet应该注意的一些细节: 1: 由于客户端是通过URL地址访问web服务器中的资源,所以Servlet程序若想被外界访问,必须把servlet程序映射到一个URL地址上,这个工作在web ...

  6. 如何在本机上将localhost改为www.dev.com

    windows上安装好服务器后,打开本地目录 C:\Windows\System32\drivers\etc\ ,会看到有个hosts文件,打开后里面的代码为: # Copyright (c) - M ...

  7. [转载] C++11中的右值引用

    C++11中的右值引用 May 18, 2015 移动构造函数 C++98中的左值和右值 C++11右值引用和移动语义 强制移动语义std::move() 右值引用和右值的关系 完美转发 引用折叠推导 ...

  8. JavaSE复习_2 对象与类

    △java中的制表符.'\t'制表符."\t"也可以. △方法内不能再定义一个方法,互相平级. △数组中boolean类型的变量默认为false;char默认为'\u0000'(\ ...

  9. flexbox弹性伸缩布局

    <!doctype html><html lang="en"><head> <meta charset="UTF-8" ...

  10. Memcached使用入门

    转:http://www.linuxidc.com/Linux/2011-12/49516.htm http://blog.csdn.net/wxwzy738/article/details/2370 ...