You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何调用CRM_STATUS_READ传入crmd_orderadm_h的GUID获取产品状态

SAP CRM函数模块CRM_STATUS_READ使用指南(基于CRMD_ORDERADM_H的GUID查询状态)

核心参数填充说明

CRM_STATUS_READ不能直接接收CRMD_ORDERADM_H的GUID字段作为入参,需要先完成参数构造:

  • OBJNR入参构造:CRM订单对象号有固定拼接规则,为固定前缀CRM加CRMD_ORDERADM_H的32位字符格式GUID,示例构造代码:
DATA: lv_objnr TYPE crm_jsto-objnr.
* 若GUID为16位RAW格式,可先调用GUID_CONVERT函数转为32位字符格式再拼接
CONCATENATE 'CRM' l_r_crmd_orderadm_h-guid INTO lv_objnr.
  • 其他参数配置说明
    • 仅需要查询当前生效状态时,可将ONLY_ACTIVE参数设为'X',自动过滤历史无效状态
    • 状态结果通过TABLES参数下的STATUS返回,对应内表类型为CRM_JSTAT_T,可提前定义对应结构接收结果

完整修改后代码示例

FORM create_output USING i_t_crmd_orderadm_h TYPE g_tt_orderadm_h
            CHANGING e_t_out             TYPE g_tt_out.
DATA: l_r_crmd_orderadm_h TYPE g_ty_orderadm_h,
      l_r_out             TYPE g_ty_out,
      lv_objnr            TYPE crm_jsto-objnr,
      lt_status           TYPE STANDARD TABLE OF jstat, " 存储返回的状态结果
      ls_status           TYPE jstat.

IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.

LOOP AT i_t_crmd_orderadm_h INTO l_r_crmd_orderadm_h.
  " 构造OBJNR入参
  CONCATENATE 'CRM' l_r_crmd_orderadm_h-guid INTO lv_objnr.
  
  CALL FUNCTION 'CRM_STATUS_READ'
    EXPORTING
        objnr                  = lv_objnr
        ONLY_ACTIVE            = 'X' " 按需开启,仅返回激活状态
    TABLES
        STATUS                 = lt_status
    EXCEPTIONS
        OBJECT_NOT_FOUND       = 1
        OTHERS                 = 2.
        
  IF sy-subrc = 0.
    " 处理返回的状态结果,写入输出结构
    LOOP AT lt_status INTO ls_status.
      " 此处补充业务逻辑,例如匹配状态码、写入输出表e_t_out
    ENDLOOP.
  ENDIF.
  
ENDLOOP.
ENDFORM.

常见注意事项

  • 若CRMD_ORDERADM_H中取出的GUID为16位RAW格式,需要先调用GUID_CONVERT函数转换为32位字符格式再拼接OBJNR前缀
  • 返回的STATUS内表中STAT字段为状态内部编码,若需要获取状态描述,可调用CRM_STATUS_TEXT_GET函数传入状态码和状态概要(STSMA)查询

内容的提问来源于stack exchange,提问作者Huy Vu Quoc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 03:45:04