zoukankan      html  css  js  c++  java
  • 调用BAPI修改SO中的PC,PH

    引用:翱翔云天

    215 views

    背景:这个程序是为了整个公司组织结构作调整,pc,ph需要做改变是用,项目比较紧,所以程序写的比较粗糙,没有什么注释,半天完成(加测试),朋友们凑或着看.

    Source code.rar

    需求:修改so中的profit center以及product hierarchy

    分析:两种方法,bapi和bdc

    利用bapi,速度快一些,程序代码也少一些。不过因为系统使用了大量的enhancement,这些字段对应起来麻烦。

    利用bdc,简单,性能也不至于太差,毕竟数据量并没有大到要狠狠地考虑性能的地步。最大的缺点,修改settlement rule时很麻烦,同时有些时候前台是反灰的,无法修改,而bapi却可以修改(迷惑中,为啥涅??????)。

    结果:只能选择bapi

    程序设计:

    选择屏幕—〉list—〉结果

    List选择alv,结果更新在alv列表中。

    使用面向对象的程序设计。

    class lcl_data_process:负责数据的选择以及检查,以及整个流程的处理。

    class lcl_alv_process:主要是alv的处理,包括显示数据,处理数据,显示最终结果。

    class lcl_bdc_process:这个就是写着做备用的,刚开始的时候不知道bdc不能修改一些字段,就放在那里了。

    class lcl_bapi_process:调用bapi更新so,包括输入数据的整理等等。

    主程序

    at selection-screen.

    check sy-ucomm = 'ONLI'.

    perform set_sel_cond.

    create object ref_data(type ref to lcl_data_process)

    exporting sd_type = sel_auart

    sales_org = sel_vkorg

    company = sel_bukrs

    sd_num = sel_vbeln

    exceptions no_data_found = 4.

    if sy-subrc <> 0.

    message e001(00) with 'No data found!'.

    endif.

    start-of-selection.

    call screen 100.

    屏幕:100,里面只要一个ok_code,其他不需要

    Status:里面有一个back按钮,以及一个excute按钮。

  • 相关阅读:
    Gridview利用DataFormatString属性设置数据格式
    PowerDesigner15 逆向工程
    JS实现动态显示当前时间(12/24小时制)(转载Mr.Think)
    如何判断Javascript对象是否存在
    PHP学习(一):判断数组中的值是否包含某字符
    JavaScript显示剩余时间
    Hibernate:a different object with the same identifier value was already associated wit异常解决
    excel含文字求和
    excel去掉最高分
    excel保护
  • 原文地址:https://www.cnblogs.com/wequst/p/1513298.html
Copyright © 2011-2022 走看看