点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
在此示例代码中,为什么它们使用标志。我无法理解它们。
&---------------------------------------------- ----------------------- *&报告ZBAPI_CREATE_PO * *&*&---------------------------------------------- -----------------------报告ZBAPI_CREATE_PO。&----------------------- ---------------------------------------------- *数据声明常量:C_X VALUE" X"。 *用于保存PO标头数据的结构DATA:HEADERLIKE BAPIMEPOHEADER, HEADERX就像BAPIMEPOHEADERX一样。 *用于保存PO ITEM DATADATA的内部表:ITEM LIKE BAPIMEPOITEM OCCURS0WITHHEADERLINE, 像ITEMX这样的BAPIMEPOITEMX OCCURS0WITHHEADERLINE, **用于保存来自BAPI调用的消息的内部表RETURNLIKE BAPIRET2 OCCURS0WITHHEADERLINE.data:w_header(40)value'PO Header'.data:ws_langu likesy-langu.data:V_EXPPURCHASEORDER如BAPIMEPOHEADER-PO_NUMBER。 * text-001 ='PO Header'-定义为文本元素e-screenbeginofblock b1 withframetitletext-001.parameters:company likeheader-comp_code default'1000', 像HEADER-DOC_TYPE这样的默认文档'NB', 像HEADER-CREAT_DATE defaultsy-datum这样的日期, 像HEADER-VENDOR这样的默认" RAJ"的供应商, pur_org,例如HEADER-PURCH_ORG的默认值'0001', pur_grp类似于HEADER-PUR_GROUP默认值'001'.selection-screenendofblock b1.selection-screenbeginofblock b2具有frametitletext-002.parameters:item_num类似于ITEM-PO_ITEM default'00020', 像ITEM-MATERIAL默认的'M-127'这样的材料, 像ITEM-PLANT默认为'0001'的工厂, 数量,例如ITEM-QUANTITY default200.selection-screenendofblock b2。 *&------------------------------------------------ --------------------- **选择开始。 *&------------------------------------------------ --------------------- **资料人口 *&------------------------------------------------ --------------------- ws_langu = sy-langu。"语言变量 * POHEADER-COMP_CODE的流行标题数据=公司.HEADER-DOC_TYPE = doctyp .HEADER-CREAT_DATE =日期.HEADER-VENDOR =供应商.HEADER-LANGU = ws_langu .HEADER-PURCH_ORG = pur_org .HEADER-PUR_GROUP = pur_grp。&- -------------------------------------------------- ----------------- *热门标题标记。&-------------------------------------------- ------------------------- HEADERX-comp_code = c_x。 HEADERX-doc_type = c_x。 HEADERX-creat_date = c_x。 HEADERX供应商= c_x。 HEADERX-langu = c_x。 HEADERX-purch_org = c_x。 HEADERX-pur_group = c_x。 * HEADERX-doc_date = c_x。&------------------------------------------ --------------------------- *热门项目数据。&-------------------------------------------- ------------------------- ITEM-PO_ITEM = item_num。 物料=物料。 ITEM-PLANT =植物。 项目数量=数量附录项目。&---------------------------------------- ----------------------------- *热门项目标志表&--------------------------------------------- ------------------------ ITEMX-PO_ITEM = item_num。 ITEMX-MATERIAL = C_X。 ITEMX-PLANT = C_X。 * ITEMX-STGE_LOC = C_X ITEMX-QUANTITY = C_X。 * ITEMX-TAX_CODE = C_X * ITEMX-ITEM_CAT = C_X。 * ITEMX-ACCTASSCAT = C_X .APPEND ITEMX。&--------------------------------------- ------------------------------ * BAPI呼叫&--------------------------------------------------------------- ---------------------- CALLFUNCTION'BAPI_PO_CREATE1'EXPORTING POHEADER =标题 POHEADERX = HEADERX POADDRVENDOR = TESTRUN =正在导入 EXPPURCHASEORDER = V_EXPPURCHASEORDER EXPHEADER = EXPPOEXPIMPHEADER = TABLESRETURN =返回 POITEM = ITEM POITEMX = ITEMX。&--------------------------------------------- ------------------------ *通过调用数据库COMMIT确认文档创建&----------------------------------------- ---------------------------- CALLFUNCTION'BAPI_TRANSACTION_COMMIT'EXPORTINGWAIT ='X'IMPORTINGRETURN =。选择结束。 ****&--------------------------------------------- ------------------------ * ****输出从BAPI调用返回的消息 ****&--------------------------------------------- ------------------------ * *在RETURN.WRITE/v_EXPPURCHASEORDER处循环播放。 * ENDLOOP。
对于"更改" BAPI,X标志用于区分这两种情况:
对于"创建" BAPI,X 标志用于区分这两种情况(这是猜测):
对象字段的- 值""(设置X标志)
- 保留SAP建议的默认值(不设置X标志)
(注意: 可能需要某些字段,例如关键字段,而不具有SAP建议的默认值,在这种情况下,可能不需要显式设置X标志; expl:BAPI_SALESORDER_CREATEFROMDAT2,ORDER_HEADER_INX,即使未设置DOC_TYPE,SALES_ORG ... ,则考虑ORDER_HEADER_IN中的相应字段)
... c_x ='X'。
我所见的最好的常量定义不完全是。 我想可能会更糟,例如
... c_x ='Y'...
嗨,
如果您需要更改 值,您应该传递X值。 例如:
如果需要更新公司代码
POHEADER-COMP_CODE ='1000'。
POHEADERX-COMP_CODE ='X'。
如果您未传递'X'之类的参数,则PO将不会更新相关字段。
您的C_X应该像
您试图读取数据元素BAPIUPDATE documentaiton吗?
嗨,
此bapi在SAP中有详细记录。 只需转到se37,显示并单击"功能模块文档"按钮即可。
问候,Rob Dielemans
一周热门 更多>