不知道从什么时候开始,习惯用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. [SAP ABAP开发技术总结]文本文件、Excel文件上传下传

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

  2. [SAP ABAP开发技术总结]局部变量、全局变量

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

  3. FZU 2216 The Longest Straight(最长直道)

    Description 题目描述 ZB is playing a card game where the goal is to make straights. Each card in the dec ...

  4. eclipse 实用快捷键

    Ctrl+E: 弹出输入窗口,可快速返回想返回的目标界面 Ctrl+Shift+O: 快速import包 Ctrl+O:显示类中方法和属性的大纲 Ctrl+1 快速修复 Ctrl+Alt+↓ 复制当前 ...

  5. C# 线程(二):关于线程的相关概念

    From : http://kb.cnblogs.com/page/42528/ 什么是进程? 当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源. 而一个进程又 ...

  6. Codeforces Round #382 (Div. 2) D. Taxes 歌德巴赫猜想

    题目链接:Taxes D. Taxes time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  7. Scrum Meeting---One(2015-10-20)

    一.scrum meeting 在上周六我们团队进行了一次会议,讨论了我们团队的项目以及项目分工.首先是确立我们的项目,在团队的激烈讨论下我们决定做一个校园相关的APP.然后对于这个项目我们大致进行了 ...

  8. SQL 调优专题总结

    oracle 的优化器: oracle 有两种优化器:基于规则的优化器(rbo/rule based optimizer)和基于代价的优化器(cbo/cost based optimizer). 有时 ...

  9. mysql 执行计划的理解

    1.执行计划就是在sql语句之前加上explain,使用desc 也可以.2.desc有两个选项extended和partitions,desc extended 将原sql语句进行优化,通过show ...

  10. Oracle正则表达式函数:regexp_like、regexp_substr、regexp_instr、regexp_replace

    Oracle正则表达式函数:regexp_like.regexp_substr.regexp_instr.regexp_replace   --去掉所有特殊字符,只剩字母  SELECT REGEXP ...