SAP报表外挂系统 - ABAP Report

        本小软件的主要功能是,以C#.NET WINFORM 开发一个固定的客户端,然后以HTTP+XML的方式与SAP进行数据交互,用户和权限管理都在SAP中实现,WINFORM中的报表导航清单、报表输出和输入帮助都根据在SAP中配置的数据动态生成,后续只需要ABAPer在SAP按规范的简单配置和开发就可以实现WINFORM 客户端自动生成不同的报表。 

目录

1、WINFORM客户端

 1.1、设置SAP服务器URL

 1.2、登录SAP报表外挂系统

 1.3、登录密码修改

 1.4、报表查询

2、SAP服务端

2.1、外挂系统帐号管理

2.2、外挂系统系统配置

2.2.1、外挂系统帐接口版本

2.2.2、外挂报表功能码

2.2.3、外挂报表F4码

 2.2.3、外挂报表系统报表导航树内容配置

3、报表快速开发演示

3.1成本中心主数据报表

3.2、定义外挂系统F4码

3.2.1、成本中心编码的F4码

3.2.2、功能范围的F4码

 3.3、定义外挂系统功能码

3.4、配置报表导航树

3.5、用户帐号分配权限

3.6、WINFORM客户端查看报表

4、C# WINFORM客户端源代码下载


1、WINFORM客户端

桌面中的图标

双击后会显示登录界面

 1.1、设置SAP服务器URL

 http://192.168.214.128:8000/sap/zwgsy

 1.2、登录SAP报表外挂系统

输入帐号和密码点击登录,验证通过后进入系统主界面,如下图。

左边是报表清单,右边是报表显示区域

 1.3、登录密码修改

如下图,进入用户信息界面

 点击【更改密码】按钮

 如下图,输入原密码和两次新密码后,点击确认

 如果数据验证无误,系统返回成功消息。

 1.4、报表查询

双击左边报表清单其中的一个报表,右边会显示该报表的界面,该界面中分为上下两部份,上半部为报表的筛选条件,下半部份为报表的表格输出

点击【查询】按钮

 如下图操作,可调出相关输入帮助。

 如下图,选中对应物料后,点【选中确认】按钮

 如下图,多选情况下,不同的选中数据将以;号分隔开,些时再点击【查询】按钮

 表格中只支显示符合筛选条件的数据,如下图。

2、SAP服务端

2.1、外挂系统帐号管理

TCODE:ZWGSY001 - 外挂系统帐号管理

 创建、修改、锁定、解锁、重置密码、分配报表权限等功能。

2.2、外挂系统系统配置

TCODE:ZWGSY000 - 外挂系统系统配置

2.2.1、外挂系统帐接口版本

2.2.2、外挂报表功能码

报表功能码定义,配置对应的功能类和对应方法

 报表选择条件

 报表字段

2.2.3、外挂报表F4码

外挂报表F4码定义,配置对应的功能类和对应方法

 输入帮助中显示的字段

 2.2.3、外挂报表系统报表导航树内容配置

3、报表快速开发演示

3.1成本中心主数据报表

选择条件

成本中心编码

KOSTL

功能范围

FUNC_AREA

输出字段

控制范围

KOKRS

成本中心编码

KOSTL

有效期开始

DATAB

有效期结束

DATBI

成本中心名称

LTEXT

成本中心负责人

VERAK

成本中心类型

KOSAR

成本中心类型描述

KTEXT

功能范围

FUNC_AREA

功能范围描述

FKBTX

公司代码

BUKRS

货币

WAERS

利润中心

PRCTR

利润中心名称

LTEXT_PRCTR

记录数量标识

MGEFL

冻结-实际初级成本

BKZKP

冻结-计划初级成本

PKZKP

冻结-实际次级成本

BKZKS

冻结-计划次级成本

PKZKS

冻结-实际销售收入

BKZER

冻结-计划收入

PKZER

冻结-未清项更新

BKZOB

3.2、定义外挂系统F4码

3.2.1、成本中心编码的F4码

成本中心编码的F4码已存在,直接使用。

3.2.2、功能范围的F4码

功能范围的F4码未创建,创建过程如下

在类:ZWGSY_CLASS_F4LIST 中增加方法:F4LIST_FKBER

选中方法:F4LIST_EXAMPLE 点击复制按钮

 然后点到空白行,点击粘贴按钮

 生成一个新的方法。

 把新生成的方法更改为:F4LIST_FKBER  功能范围输入帮助

把方法中的代码按下图修改

  METHOD F4LIST_FKBER.
*****************************************************************
*  1  取得F4LIST显示数据
*****************************************************************
    SELECT A~FKBER,
           A~FKBTX
           
UP TO @I_ZROWCOUNT ROWS
      FROM TFKBT AS A
      
INTO TABLE @DATA(IT_OUTPUT)
     WHERE A~SPRAS EQ '1'
       AND A~FKBER LIKE @I_ZBMINPUT
       
AND A~FKBTX LIKE @I_ZMXINPUT.
*****************************************************************
*  2   E_DATA绑定F4LIST数据
*****************************************************************
    FIELD-SYMBOLS<FS_IT> TYPE ANY TABLE.
    CREATE DATA E_DATA LIKE IT_OUTPUT.
    ASSIGN E_DATA->TO <FS_IT>.
    <FS_IT> IT_OUTPUT.
  ENDMETHOD.

 3.3、定义外挂系统功能码

 报表选择条件

 报表输出字段

 在TCODE:SE24中根据类:ZWGSY_CLASS_EXAMPL 拷贝创建类:ZWGSY_CLASS_ZTEST001

 把方法:ZMETHOD_EXAMPL  更改为方法:ZTEST001

  METHOD ZTEST001.
************************************************************
* 1 取得选择条件
************************************************************
    DATART_KOSTL TYPE RANGE OF CSKS-KOSTL,
          RW_KOSTL LIKE LINE OF RT_KOSTL.

    DATART_FKBER TYPE RANGE OF CSKS-FUNC_AREA,
          RW_FKBER LIKE LINE OF RT_FKBER.
    CLEARRT_KOSTL.
    LOOP AT IT_SEL INTO DATA(WA_SEL).
      CASE WA_SEL-FIELD.
        WHEN 'KOSTL'.
          CLEARRW_KOSTL.
          RW_KOSTL-SIGN WA_SEL-SIGN.
          RW_KOSTL-OPTION WA_SEL-OPTION.
          RW_KOSTL-LOW WA_SEL-LOW.
          RW_KOSTL-LOW |{ RW_KOSTL-LOW ALPHA IN }|.
          RW_KOSTL-HIGH WA_SEL-HIGH.
          RW_KOSTL-HIGH |{ RW_KOSTL-HIGH ALPHA IN }|.
          APPEND RW_KOSTL TO RT_KOSTL.
        WHEN 'FKBER'.
          CLEARRW_FKBER.
          RW_FKBER-SIGN WA_SEL-SIGN.
          RW_FKBER-OPTION WA_SEL-OPTION.
          RW_FKBER-LOW WA_SEL-LOW.
          RW_FKBER-HIGH WA_SEL-HIGH.
          APPEND RW_FKBER TO RT_FKBER.
      ENDCASE.
    ENDLOOP.
************************************************************
* 2 取得报表数据
************************************************************
    SELECT A~KOKRS,
           A~KOSTL,
           A~DATAB,
           A~DATBI,
           B~LTEXT,
           A~VERAK,
           A~KOSAR,
           C~KTEXT,
           A~FUNC_AREA,
           D~FKBTX,
           A~BUKRS,
           A~WAERS,
           A~PRCTR,
           F~LTEXT AS LTEXT_PRCTR,
           A~MGEFL,
           A~BKZKP,
           A~PKZKP,
           A~BKZKS,
           A~PKZKS,
           A~BKZER,
           A~PKZER,
           A~BKZOB
      
FROM CSKS AS LEFT OUTER JOIN CSKT AS ON B~SPRAS '1'
                                              AND B~KOKRS A~KOKRS
                                              
AND B~KOSTL A~KOSTL
                                              
AND B~DATBI A~DATBI
                     
LEFT OUTER JOIN TKT05 AS C ON C~SPRAS '1'
                                               AND C~KOSAR A~KOSAR
                     
LEFT OUTER JOIN TFKBT AS ON D~SPRAS '1'
                                            AND D~FKBER A~FUNC_AREA
                     
LEFT OUTER JOIN CEPC AS ON E~PRCTR A~PRCTR
                                              
AND E~KOKRS A~KOKRS
                                              
AND E~DATBI >= A~DATBI
                                              
AND E~DATAB <= A~DATBI
                     
LEFT OUTER JOIN CEPCT AS ON SPRAS '1'
                                               AND F~PRCTR E~PRCTR
                                               
AND F~DATBI E~DATBI
                                               
AND F~KOKRS E~KOKRS
      
INTO TABLE @DATA(IT_OUTPUT)
     WHERE A~KOSTL IN @RT_KOSTL
       
AND A~FUNC_AREA IN @RT_FKBER.
************************************************************
* 3 报表数据转DATA类型
************************************************************
    FIELD-SYMBOLS<FS_IT> LIKE IT_OUTPUT.
    CREATE DATA E_DATA LIKE IT_OUTPUT.
    ASSIGN E_DATA->TO <FS_IT>.
    <FS_IT> IT_OUTPUT.
  ENDMETHOD.

3.4、配置报表导航树

3.5、用户帐号分配权限

ZWGSY001 - 外挂系统帐号管理

3.6、WINFORM客户端查看报表

WINFORM无需任何更改,直接登录使用。

4、C# WINFORM客户端源代码下载

源代码下载

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈送平er

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值