SAP问题汇总

1.SAP获取CLASS的PROGRAM名字

CL_OO_CLASSNAME_SERVICE

获取主程序名              SEO_CLASS_GET_INCLUDE_BY_NAME

获取METHOD程序名  SEO_CLASS_GET_METHOD_INCLUDES

生成类需要的信息  SEO_CLASS_TYPEINFO_GET

2.SAP报表选择屏幕的变式,上传下载

RS_VARIANT_UPLOAD_DOWNLOAD 单一上传下载

RSVCHECK_NEW 批量上传下载

3.se80 树取值表

TADIR

4.长文本取数优化

大批量的长文本取数依靠READ_TEXT函数会很慢。而长文本在数据库里是十六进制保存在STXL。

STXH:长文本抬头表      STXL:长文本行表      TTXID:Text ID 表          TTXOB:Textobject表

跟踪READ_TEXT发现,CL_RSTX_TABLE_VIEW->IMPORT_STXL( ),转化16进制到TLINE类型内表。

*   Read normal table
    import tline to e_text_lines
      from database stxl(tx)  "#EC DBACCESS_OK
           client   i_mandt
           id       l_stxl_id
           accepting truncation                     "important for Unicode->Nonunicode
           ignoring conversion errors.

 5.MIGO前台和BAPI走BADI MB_GOODSMOVEMENT,仅前台走MB_MIGO_BADI

 6.哪个 PFCG 角色分配了权限对象 S_CARRID? 通过tcode:SUIM。系统-角色-按复杂选择条件选择的角色-按权限对象

 7.后台任务表TBTCO  状态字段STATUS  P=已计划 S=已释放  Z=挂起 

 8.ALV去掉小数位 fieldcat-convexit 'RRQUT'

9.生产订单状态,直接数据库取数,提高效率

  SELECT
     a~aufnr,    "生产订单
     jest~objnr, "对象编号
     jest~stat , "对象状态
     tj02t~txt04,
     tj02t~txt30,
     CASE WHEN tj04~linep IS NOT INITIAL THEN tj04~linep ELSE '99' END AS linep,
     CASE WHEN tj04~statp IS NOT INITIAL THEN tj04~statp ELSE '99' END AS statp
    FROM @lt_aufnr AS a
    INNER JOIN aufk  ON aufk~aufnr = a~aufnr
    INNER JOIN jest  ON jest~objnr = aufk~objnr AND jest~inact = ''          "有效状态
    INNER JOIN tj02  ON jest~stat  = tj02~istat AND nodis IS INITIAL         "前台显示
    INNER JOIN tj02t ON jest~stat  = tj02t~istat AND tj02t~spras = @sy-langu "文本
    LEFT  JOIN tj04  ON tj04~obtyp = 'ORH' AND jest~stat = tj04~istat        "显示优先级
     INTO TABLE @DATA(lt_jest).
  SORT lt_jest BY linep statp txt04.

 10.批量翻译

tcode:lxe_master 专家翻译工具
1.选择导出.xlf
2.vlookup翻译
3.用python等把Excel的修改合并回.xlf
4.导入 并tcode:slxt包请求

 

11.拉出用户下所有TCODE权限

先通过报表RSUSR070拉出用户下面所有角色,然后点击按钮事务分配查看每个角色下的TCODE (或者根据角色查表AGR_HIER批量查询)

posted @ 2024-06-13 09:56  yangliu11223  阅读(37)  评论(0)    收藏  举报