点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我遇到有关创建临时销售订单号的问题
代码在下面:-
如果SY-UCOMM ='SAVE'。
DOC_NUM TYPE CHAR10。
从ZLIPS选择MAX(ZVBELN)到DOC_NUM,其中VBELN = WA_ZLIPS-ZVBELN。
WA_ZLIPS-ZVBELN = DOC_NUM +1。
BREAK-POINT。
将DOC_NUM移动到WA_FINAL-ZVBELN。
将wa_zlips-vbeln移至wa_final- vbeln。
将wa_zlips-posnr移至wa_final-posnr。
将wa_zlips-MATNR移至wa_final-MATNR。
将WA_zlips-ZIEME移至WA_final-ZIEME。
将WA_zlips-UMZIZZ移至WA_final。
将WA_zlips-MEINS移动到WA_final-MEINS。
将WA_zlips-UMZIN移动到WA_final-UMZIN。
将WA_zlips-WERKS移动到WA_final-WERKS。
将WA_zlips-ERDAT移动到WA_final-ERDAT。 >将WA_zlips-MAKTX移动到WA_final-MAKTX。
将wa_zlips附加到it_zLIPS。
修改表it_ZLIPS中的zlips。
如果sy-subrc =0。
消息 :"新临时订单号。" 类型为" I"。
此代码写在哪里? 您使用了合适的出口吗?
这里的业务需求是什么?
需求:
开发一个报告alv报告,单击"保存"按钮时将存储临时销售号码。
完整代码:-
TYPE-POOLS SLIS。
ZIEME类型DZIEME," UNIT
表格:VBAP,MAKT,ZLIPS。
* DATA:LV_TEMP(10)TYPEC。
TYPES:TY_VBAP开头,
VBELN类型VBELN,"销售订单
POSNR类型POSNR,"产品编号
MATNR类型MATNR,"材料编号
UMZIZ类型UMZIZ," 70
UMZIN型UMZIN," 1
面型面型," KG
WERKS型面型,"植物
ERDAT型ERDAT,"日期
* VRKME型VRKME," BAG
* NTGEW型 NTGEW," KG
TY_VBAP的结尾。
类型:TY_MAKT的开始,
MATNR的类型MATNR,
MAKTX的类型的MAKTX,
TY_MAKT的结尾。
类型:TY_ZLIPS的开始,
ZVBELN类型ZLIPS-ZVBELN,
VBELN类型ZLIPS-VBELN,
POSNR类型ZLIPS-POSNR,
MATNR类型ZLIPS-MATNR,
ZIEME类型ZLIPS-ZIEME ,
UMZIZ型ZLIPS-UMZIZ,
UMZIN型ZLIPS-UMZIN,
MEINS型ZLIPS-MEINS,
WERKS型ZLIPS-WERKS,
ERDAT型ZLIPS-ERDAT,
MAKTX ZLIPS-MAKTX类型,
TY_ZLIPS的结尾。
类型:TY_FINAL的开始,
ZVBELN ZLIPS-ZV类型 BELN,
VBELN类型ZLIPS-VBELN,
POSNR类型ZLIPS-POSNR,
MATNR类型ZLIPS-MATNR,
ZIEME类型ZLIPS-ZIEME,
UMZIZ类型ZLIPS-UMZIZ,
UMZIN类型ZLIPS-UMZIN,
意味着类型ZLIPS-MEINS,
WERKS类型ZLIPS-WERKS,
ERDAT类型ZLIPS-ERDAT,
MAKTX类型ZLIPS-MAKTX,
TY_FINAL结尾。 br>
*类型:TY_FINAL的开始,
* ZVBELN类型ZLIPS-ZVBELN,
* VBELN类型VBAP-VBELN,
* POSNR类型VBAP-POSNR,
* MATNR类型VBAP- MATNR,
* ZIEME型VBAP-ZIEME,
* UMZIZ型VBAP-UMZIZ,
* UMZIN型VBAP-UMZIN,
* MEINS型VBAP-MEINS,
* WERKS型VBAP- WERKS,
* ERDAT类型VBAP-ERDAT,
* MAKTX类型MAKT-MAKTX,
* TY_FINAL的结尾。
数据:IT_VBAP类型标准表TY_VBAP,
WA_VBAP类型TY_VBAP,
TY_MAKT类型的IT_MAKT类型标准表,
WA_MAKT类型TY_ZLIPS的标准类型表,
WA_ZLIPS类型TY_TYL的类型TY_TYL,
br> WA_FINAL TYPE TY_FINAL。
数据:IT_FCAT类型SLIS_T_FIELDCAT_ALV,
与IT_FCAT类似的WA_FCAT线。
在it_final循环到wa_final。
将WA_FINAL-ZVBELN移至WA_ZLIPS-ZVBELN。
将wa_final移至。 wa_ZLIPS-vbeln。 " = wa_final-vbeln。
将wa_final-posnr移至wa_ZLIPS-posnr。
将wa_final-MATNR移至wa_ZLIPS-MATNR。
将WA_FINAL-ZIEME移至WA_ZLIPS-ZIEME。
将WA_FINAL-ZIEME移至WA_FINAL-UMZIME。 WA_ZLIPS-UMZIZ。
将WA_FINAL-MEINS移至WA_ZLIPS-MEINS。
将WA_FINAL-UMZIN移至WA_ZLIPS-UMZIN。
将WA_FINAL-WERKS移至WA_ZLIPS-WERKS。
将WA_FINAL-ERDAT移至WA_FINAL-ERDAT。 ERDAT。
将WA_FINAL-MAKTX移动到WA_ZLIPS-MAKTX。" WA_ZLIPS-MAKTX更改为WA_FINAL-MAKTX
ENDLOOP。
具有框架标题文本001的B1块的选择屏幕开始。
参数:P_VBELN类型的VBAP-VBELN。
* A_VBELN类型的VBAP-VBELN。
块的选择屏幕结束 B1。
* DATA:L_NUM(4)TY,PE N.
* data:temp_zvbeln(4)类型n。
FORM GET_DATA。
SELECT VBELN POSNR
MATNR
ZIEME UMZIZ UMZIN MEINS
从VBAP到表IT_VBAP的ERDAT
VBELN EQ P_VBELN。
从MAKT到表IT_MAKT中选择MATNR MAKTX。 br>从ZLIPS中选择ZVBELN
VBELN到表IT_ZLIPS中。
ENDFORM。
表格FINAL_DATA。
* BREAK-POINT。
如果IT_VBAP不是初始的 。
将IT_VBAP插入WA_VBAP。
* BREAK-点。
用键VBELN = WA_VBAP-VBELN将表IT_VBAP读入WA_VBAP。
用键MATNR = WA_VAPAP将表IT_MAKT读入WA_MAKT = WA_VBAP -MATNR。
用键VBELN = WA_ZLIPS-VBELN将表IT_ZLIPS读入WA_ZLIPS。
* WA_FINAL-ZVBELN = A_VBELN。 "温度交货订单
WA_FINAL-VBELN = WA_VBAP-VBELN。"销售订单
WA_FINAL-POSNR = WA_VBAP-POSNR。 "项目编号
WA_FINAL-MATNR = WA_VBAP-MATNR。"材料编号
WA_FINAL-ZIEME = WA_VBAP-ZIEME。
WA_FINAL-UMZIZ = WA_VBAP-UMZIZ。
WA_FINAL-MEINS = WA_VBAP-MEINS。
WA_FINAL-UMZIN = WA_VBAP-UMZIN。
WA_FINAL-WERKS = WA_VBAP-WERKS。 "工厂
WA_FINAL-ERDAT = WA_VBAP-ERDAT。"创建记录的日期
WA_FINAL-MATNR = WA_VBAP-MATNR。 "材料编号
WA_FINAL-MAKTX = WA_MAKT-MAKTX。"材料描述
数据:gd_date(10)。
将sy-data写入gd_date DD/MM/YYYY。 >
SHIFT WA_FINAL-VBELN左删除领导者'0'。
WA_FINAL-VBELN = WA_FINAL-VBELN + 0(6)。
SHIFT WA_FINAL-VBELN删除领导者'0'。 > WA_FINAL-POSNR = WA_FINAL-POSNR + 0(6)。
SHIFT WA_FINAL-MATNR左删除领先'0'。
WA_FINAL-MATNR = WA_FINAL-MATNR + 0(6)。
将WA_FINAL附加到IT_FINAL。
清除:WA_FINAL,WA_VBAP。
* BREAK-POINT。
在it_final处循环到wa_final。
将WA_FINAL-ZVBELN移至WA_zlips- ZVBELN。
将wa_final-vbeln移至wa_zlips-vbeln。
将wa_final-posnr移至wa_zlips-posnr。
将wa_final-MATNR移至wa_zlips-MATNR。
将WA_FINAL-ZIEME移动至WA_ZLIPS。
将WA_FINAL-UMZIZ移至WA_ZLIPS-UMZIZ。
将WA_FINAL-MEINS移至WA_ZLIPS-MEINS。
将WA_FINAL-UMZIN移至WA_ZLIPS-UMZIN。
将WA_FINAL-UMZIN移至WA_ZLIPS-WERKS。 >将WA_FINAL-ERDAT移动到WA_ZL IPS-ERDAT。
将WA_FINAL-MAKTX移动到WA_ZLIPS-MAKTX。
从WA_final插入zlips。
清除:WA_FINAL,WA_ZLIPS。
endloop。
ENDLOOP。
ENDIF 。
*如果IT_ZLIPS尚未初始化。
*
*将IT_ZLIPS插入WA_ZLIPS。
*使用键ZVBELN = WA_ZLIPS-ZVBELN将表IT_ZLIPS读入WA_ZLIPS。 > * WA_FINAL-ZVBELN = WA_ZLIPS-ZVBELN。
* ENDLOOP。
* ENDIF。
ENDFORM。
您的要求+解决方案从功能上讲没有意义:
1。 为什么甚至需要保存临时销售订单号?
2。 即使您能够保存临时订单号,也不会阻止系统使用与保存的临时订单相同的临时订单来创建新的销售订单号。
2。 您可能需要为您的要求定义一个新的数字范围或设计一个自定义数字范围。例如YYYYMMDDxxx,其中xxx是递增的。
一周热门 更多>