SD_SALESDOCUMENT_CREATE:WBS元素未在项目级别填充

2020-08-14 07:23发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好大师, 我正在尝试使...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好大师,


我正在尝试使用功能模块SD_SALESDOCUMENT_CREATE创建新的销售订单,但是当我在项目级别传递WBS元素的
值时,它不会在后端系统中填充。


 
数据:BAPIRET2的LT_RETURN TYPE TABLE,
LT_SALES_ITEMS_IN BAPISDITM类型标准表,
BAPISDITMX的LT_SALES_ITEMS_INX类型表,
BAPIPARNR的LT_SALES_PARTNERS类型表,
LT_SALES_SCHEDULES_IN BAPISCHDL的类型表,
BAPISCHDLX的LT_SALES_SCHEDULES_INX类型表,
LT_SALES_CONDITIONS_IN类型表,
BAPICONDX的LT_SALES_CONDITIONS_INX类型表,
BAPICUCFG的LT_SALES_CFGS_REF类型表,
LT_SALES_CFGS_INST BAPICUINS类型表,
LT_SALES_CFGS_PART_OF BAPICUPRT类型表,
LT_SALES_CFGS_VALUE BAPICUVAL类型表,
BAPICUBLB的LT_SALES_CFGS_BLOB类型表,
LT_SALES_CFGS_VK BAPICUVK的类型表,
BAPICUREF的LT_SALES_CFGS_REFINST类型表,
LT_SALES_CCARD类型的BAPICCARD表,
LT_SALES_TEXT BAPISDTEXT类型表,
BAPISDKEY的LT_SALES_KEYS类型表,
LT_SALES_CONTRACT_IN BAPICTR的类型表,
BAPICTRX的LT_SALES_CONTRACT_INX类型表,
LT_EXTENSIONIN BAPIPAREX的类型表,
BAPIADDR1的LT_PARTNERADDRESSES类型表,
LT_SALES_SCHED_CONF_IN BAPISCHDL2的类型表,
LT_ITEMS_EX BAPISDIT类型表,
BAPISDHEDU的LT_SCHEDULE_EX类型表,
BAPISDBUSI的LT_BUSINESS_EX类型表,
BAPIINCOMP的LT_INCOMPLETE_LOG TYPE TABLE,
BAPIPAREX的LT_EXTENSIONEX类型表,
LT_CONDITIONS_EX BAPICOND类型表,
LT_PARTNERS_EX BAPISDPART的类型表,
LT_TEXTHEADERS_EX BAPISDTEHD的类型表,
LT_TEXTLINES_EX BAPITEXTLI的类型表,
BAPIBTSEL的LT_BATCH_CHARC类型表,
BAPISDCA的LT_CAMPAIGN_ASGN类型表,
LT_CONDITIONS_KONV_EX KONV的类型表。

数据:LV_SALESDOCUMENT_EX TYPE BAPIVBELN-VBELN,
LT_SALES_HEADER_OUT TYPE BAPISDHD,
LT_SALES_HEADER_STATUS类型BAPISDHDST。

数据:LV_VALUE_SALESDOCUMENT TYPE BAPIVBELN-VBELN,
LT_SALES_HEADER_IN TYPE BAPISDHD1,
BAPISDHD1X的LT_SALES_HEADER_INX类型表,
BDI_LOGSYS的LT_SENDER类型表,
LV_BINARY_RELATIONSHIPTYPE TYPE BRELTYP-RELTYPE,
LV_INT_NUMBER_ASSIGNMENT TYPE BAPIFLAG-BAPIFLAG VALUE'R',
LV_BEHAVE_WHEN_ERROR TYPE BAPIFLAG-BAPIFLAG VALUE'',
LT_LOGIC_SWITCH BAPISDLS类型表,
LV_BUSINESS_OBJECT TYPE BAPIUSW01-OBJTYPE VALUE'',
BAPIFLAG-BAPIFLAG的LT_TESTRUN类型表,
LV_CONVERT_PARVW_AUART TYPE BAPIFLAG-BAPIFLAG VALUE'',
LV_STATUS_BUFFER_REFRESH类型BAPIFLAG-BAPIFLAG值'X',
LV_CALL_ACTIVE TYPE CHAR4。

数据:WA_SALES_PARTNERS,如LT_SALES_PARTNERS,
WA_SALES_SCHEDULES_IN与LINE_SALES_SCHEDULES_IN类似,
WA_SALES_CONDITIONS_IN(与LT_SALES_CONDITIONS_IN类似),
WA_EXTENSIONIN之类的LT_EXTENSIONIN行,
WA_SALES_ITEMS_IN喜欢LINE of LT_SALES_ITEMS_IN,
WA_SALES_TEXT与LINE_SALES_TEXT类似。

LT_SALES_HEADER_IN-DOC_TYPE ='ZSAL'。
LT_SALES_HEADER_IN-SALES_ORG ='1000'。
LT_SALES_HEADER_IN-DISTR_CHAN ='02'。
LT_SALES_HEADER_IN-DIVISION ='01'。
LT_SALES_HEADER_IN-PMNTTRMS ='Z020'。
LT_SALES_HEADER_IN-DUN_COUNT ='0'。
LT_SALES_HEADER_IN-ADD_VAL_DY ='00'。
LT_SALES_HEADER_IN-EXCHG_RATE ='0'。
LT_SALES_HEADER_IN-BILL_DATE = SY-DATUM。

数据lv_kunnr类型kunnr值'106475'。

CALL FUNCTION'CONVERSION_EXIT_ALPHA_INPUT'
出口
INPUT = lv_kunnr
导入
OUTPUT = lv_kunnr。

WA_SALES_PARTNERS-PARTN_ROLE ='AG'。
WA_SALES_PARTNERS-PARTN_NUMB = lv_kunnr。
将WA_SALES_PARTNERS追加到LT_SALES_PARTNERS。

WA_SALES_PARTNERS-PARTN_ROLE ='WE'。
WA_SALES_PARTNERS-PARTN_NUMB = lv_kunnr。
将WA_SALES_PARTNERS追加到LT_SALES_PARTNERS。

WA_SALES_TEXT-ITM_NUMBER ='000010'。
WA_SALES_TEXT-TEXT_ID ='ZS01'。
WA_SALES_TEXT-LANGU = SY-LANGU。
APPEND WA_SALES_TEXT到LT_SALES_TEXT。

WA_SALES_TEXT-ITM_NUMBER ='000010'。
WA_SALES_TEXT-TEXT_ID ='3010'。
WA_SALES_TEXT-LANGU = SY-LANGU。
APPEND WA_SALES_TEXT到LT_SALES_TEXT。

WA_SALES_SCHEDULES_IN-ITM_NUMBER ='000010'。
WA_SALES_SCHEDULES_IN-REQ_QTY ='22'。
将WA_SALES_SCHEDULES_IN附加到LT_SALES_SCHEDULES_IN。

WA_SALES_CONDITIONS_IN-ITM_NUMBER ='000010'。
WA_SALES_CONDITIONS_IN-COND_TYPE ='ZMAN'。
WA_SALES_CONDITIONS_IN-CURRENCY ='NOK'。
将WA_SALES_CONDITIONS_IN追加到LT_SALES_CONDITIONS_IN。

WA_EXTENSIONIN-STRUCTURE ='BAPE_VBAK'。
* WA_EXTENSIONIN-VALUEPART1 ='090000000200'。
将WA_EXTENSIONIN附加到LT_EXTENSIONIN。

数据lv_MATNR类型MATNR值'000000000000000031'。

CALL FUNCTION'CONVERSION_EXIT_ALPHA_INPUT'
出口
INPUT = lv_MATNR
导入
OUTPUT = lv_MATNR。

WA_SALES_ITEMS_IN-ITM_NUMBER ='10'。
WA_SALES_ITEMS_IN-MATERIAL = lv_MATNR。
WA_SALES_ITEMS_IN-TARGET_QTY ='1'。
WA_SALES_ITEMS_IN-TARGET_QU ='ST'。
WA_SALES_ITEMS_IN-SHORT_TEXT ='TESST AJ'。
WA_SALES_ITEMS_IN-SALES_UNIT ='ST'。
WA_SALES_ITEMS_IN-CURRENCY ='NOK'。
WA_SALES_ITEMS_IN-WBS_ELEM ='011215'。
APPEND WA_SALES_ITEMS_IN到LT_SALES_ITEMS_IN。

数据:WA_ORDER_ITEMS_INX类型BAPISDITMX。
数据:BAPISDITMX的LT_ORDER_ITEMS_INXN类型标准表。
数据:WA_ORDER_HEADER_INX类型BAPISDHD1X。
数据:BAPISDHD1X的LT_ORDER_HEADER_INXN类型标准表。

WA_ORDER_ITEMS_INX-UPDATEFLAG =''。
WA_ORDER_ITEMS_INX-ITM_NUMBER ='000010'。
WA_ORDER_ITEMS_INX-MATERIAL ='X'。
WA_ORDER_ITEMS_INX-TARGET_QTY ='X'。
WA_ORDER_ITEMS_INX-TARGET_QU ='X'。
WA_ORDER_ITEMS_INX-SHORT_TEXT ='X'。
WA_ORDER_ITEMS_INX-SALES_UNIT ='X'。
WA_ORDER_ITEMS_INX-WBS_ELEM ='X'。

将WA_ORDER_ITEMS_INX附加到LT_ORDER_ITEMS_INXN。

通话功能" SD_SALESDOCUMENT_CREATE"
出口
SALESDOCUMENT = LV_VALUE_SALESDOCUMENT
SALES_HEADER_IN = LT_SALES_HEADER_IN
* SALES_HEADER_INX =
* SENDER =
* BINARY_RELATIONSHIPTYPE =''
INT_NUMBER_ASSIGNMENT = LV_INT_NUMBER_ASSIGNMENT
* BEHAVE_WHEN_ERROR =''
* LOGIC_SWITCH =''
BUSINESS_OBJECT =''
* TESTRUN =
* CONVERT_PARVW_AUART =''
STATUS_BUFFER_REFRESH ='X'
* CALL_ACTIVE =''
导入
SALESDOCUMENT_EX = LV_SALESDOCUMENT_EX
SALES_HEADER_OUT = LT_SALES_HEADER_OUT
SALES_HEADER_STATUS = LT_SALES_HEADER_STATUS
桌子
RETURN = LT_RETURN
SALES_ITEMS_IN = LT_SALES_ITEMS_IN
* SALES_ITEMS_INX =
SALES_PARTNERS = LT_SALES_PARTNERS
SALES_SCHEDULES_IN = LT_SALES_SCHEDULES_IN
* SALES_SCHEDULES_INX =
SALES_CONDITIONS_IN = LT_SALES_CONDITIONS_IN
* SALES_CONDITIONS_INX =
* SALES_CFGS_REF =
* SALES_CFGS_INST =
* SALES_CFGS_PART_OF =
* SALES_CFGS_VALUE =
* SALES_CFGS_BLOB =
* SALES_CFGS_VK =
* SALES_CFGS_REFINST =
* SALES_CCARD =
SALES_TEXT = LT_SALES_TEXT
* SALES_KEYS =
* SALES_CONTRACT_IN =
* SALES_CONTRACT_INX =
EXTENSIONIN = LT_EXTENSIONIN
*合作伙伴地址=
* SALES_SCHED_CONF_IN =
ITEMS_EX = LT_ITEMS_EX
SCHEDULE_EX = LT_SCHEDULE_EX
* BUSINESS_EX =
* INCOMPLETE_LOG =
EXTENSIONEX = LT_EXTENSIONEX
* CONDITIONS_EX =
* PARTNERS_EX =
* TEXTHEADERS_EX =
* TEXTLINES_EX =
* BATCH_CHARC =
* CAMPAIGN_ASGN =
* CONDITIONS_KONV_EX =


提交工作。



我知道还有其他BAPI可以用来创建新的销售订单(BAPI_SALESORDER_CREATEFROMDAT2等),但是使用它们的问题是它们在内部调用相同的功能模块" SD_SALESDOCUMENT_CREATE"。 我已经尝试过使用" BAPI_SALESORDER_CREATEFROMDAT"创建销售订单,但效果是相同的。


当我在VA01中传递WBS元素值并创建销售订单时,我可以看到WBS元素值正确到达。
但是当我使用ABAP代码创建销售订单时,WBS元素变为空白。 当我执行此标准FM时,它会正确创建销售订单,并使用WBS元素空白。 我检查了VBAP表中的值,甚至没有在其中填充。 请分享您的宝贵意见。



-Akshay

编辑者:yahooakshay,2011年12月12日上午9:49