abap - 如何使用 CRM_STATUS_READ 获取产品状态?
问题描述
我想知道如何使用功能模块CRM_STATUS_READ
。在表中crmd_orderadm_h
有一个字段GUID
,我想通过传递GUID
给 FM来显示状态CRM_STATUS_READ
。
我不知道如何在这个 FM 中填写参数。
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.
.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
LOOP AT i_t_crmd_orderadm_h INTO l_r_crmd_orderadm_h.
CALL FUNCTION 'CRM_STATUS_READ'
EXPORTING
* CLIENT = SY-MANDT
objnr =
* ONLY_ACTIVE = ' '
* IMPORTING
* OBTYP =
* STSMA =
* STONR =
* ET_JEST_BUF =
* TABLES
* STATUS =
ENDFORM.
最好的问候, Huy Vu
解决方案
要调用此模块,您必须知道两件事:GUID 和片段 GUID。后者可以取自产品属性(表COMM_PCAT_REL
)。
这是示例:
DATA(lv_guid) = get_guid_by_id( '11111111111' ).
DATA: lv_frg_guid TYPE comm_pr_frg_rod-fragment_type VALUE '37D58F1B772D53A4E10000009B38FA0B',
rt_stat TYPE ttjstat.
DATA: lv_objnr TYPE comm_pr_frg_rod-status_object,
lt_status TYPE STANDARD TABLE OF jstat.
SELECT SINGLE status_object FROM comm_pr_frg_rod
INTO lv_objnr WHERE product_guid = lv_guid AND fragment_type = lv_frg_guid.
CHECK sy-subrc = 0.
CALL FUNCTION 'CRM_STATUS_READ'
EXPORTING
objnr = lv_objnr
TABLES
status = rt_status
EXCEPTIONS
object_not_found = 1.
推荐阅读
- java - 在 java 中使用 contains() 方法
- ios - 为什么会在没有调用 setActive: 的情况下激活自动布局约束?
- php - PHP TCPDF 在 ubuntu 14.04 上永久移动错误
- gradle - 无法为 org.gradle.api.internal.tasks.DefaultSourceSetContainer 类型的 SourceSet 容器上的参数找到方法 srcDirs()
- javascript - 如何在 JavaScript 中使用 $.getJSON 来检索 python 文件数据?
- matlab - 改变matlab中的输出顺序
- python - 使用 Pickle 在 Python 中进行套接字编程
- php - 无法获取将信用卡信息插入数据库的 PHP 代码
- scala - “用户未初始化火花上下文”在 SPARK YARN 集群模式下使用 Scala 代码时出错
- python - 正则化逻辑回归低准确率