通过ean11用bapi创建Po

2020-09-27 04:23发布

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

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


大家好。

我正在用文本文件(格式为123123 1 matnr和数量)创建po(me21n)

当我上传这些文本时。 效果很好。 但是我需要使文本文件格式

ean11和数量。 (例如8681231231231 1)我找不到任何解决方案。

您可以在下面看到我的代码。

谢谢

 跨度 {
 字体家族:" Courier New";
 字体大小:10pt;
 颜色:#000000;
 背景:#FFFFFF;
 }
 .L0S31 {
 字体样式:斜体;
 颜色:#808080;
 }
 .L0S32 {
 颜色:#3399FF;
 }
 .L0S33 {
 颜色:#4DA619;
 }
 .L0S52 {
 颜色:#0000FF;
 }
 .L0S55 {
 颜色:#800080;
 }
 .L0S70 {
 颜色:#808080;
 }

 *&------------------------------------------------  --------------------- *

 *&报告ZIADE

 *&------------------------------------------------  --------------------- *

 *&

 *&------------------------------------------------  --------------------- *

 报告ZIADE 2。





 常量:C_X值" X"。

 数据:X TYPEI。

 数据:V_FILE TYPE STRING。

 数据:开始于IT_DATA发生0,

          " CREAT_DATE(50)," Yaratma Tarihi

          " VENDOR(50),"satıcı

          EMATN(18)," Malzemenumarası

          " SHORT_TEXT(50),

          " GRUP_ART(50),

          "工厂(50),

          数量(13),

          " PO_UNIT(50),

          " RET_ITEM(1),

          " DOCTYPE(50),



        结束于IT_DATA。

 数据:标题为BAPIMEPOHEADER,

        HEADERX就像BAPIMEPOHEADERX。

 数据:带有标题行的IT_INTERN类型ALSMEX_TABLINE发生0。

 数据:带有标题行的类似于BAPIMEPOACCOUNT的帐户发生了0次,

        像BAPIMEPOACCOUNTX这样的ACCOUNTX出现在标头行中,占0。

 数据:带有标题行的ITEMSCHEDULE(类似于BAPIMEPOSCHELELE发生)0,

        带有标题行的ITEMSCHEDULEX类似于BAPIMEPOSCHEDULX发生0。

 数据:带有标题行的类似BAPIMEPOITEM项出现0,

        像ITEMX这样的BAPIMEPOITEMX出现了0行,并带有标题行



        使用标题行返回类似BAPIRET2的事件,发生次数为0。



 " DATA:W_HEADER(40)VALUE" PO标头",

 "类似于BAPIMEPOHEADER-PO_NUMBER的购买者,

 ",例如BAPIMEPOSCHEDULE-DELIVERY_DATE。







 带有标题标题文本001的B1块的选择屏幕开始。



 参数:P_FILE类型RLGRAP-FILENAME默认'C:\ Users \ ERKANKA \ Desktop \ me21n.txt',

             类似于供应商的标头供应商默认'1001',

             像项目工厂默认的'3125'一样。

 " MATL LIKE ITEM-MATL_GROUP。

 B1块的选择屏幕结束。







 在P_FILE值请求的选择屏幕上。



   通话功能'F4_FILENAME'

     出口

       PROGRAM_NAME = SYST-CPROG

       DYNPRO_NUMBER = SYST-DYNNR

       FIELD_NAME =''

     输入

       FILE_NAME = P_FILE。



 选择开始。



   V_FILE = P_FILE。



   通话功能'GUI_UPLOAD'

     出口

       FILENAME = V_FILE

       FILETYPE ='ASC'

       HAS_FIELD_SEPARATOR =''

     桌子

       DATA_TAB = IT_DATA

     例外情况

       FILE_OPEN_ERROR = 1

       FILE_READ_ERROR = 2

       NO_BATCH = 3

       GUI_REFUSE_FILETRANSFER = 4

       INVALID_TYPE = 5

       NO_AUTHORITY = 6

       UNKNOWN_ERROR = 7

       BAD_DATA_FORMAT = 8

       HEADER_NOT_ALLOWED = 9

       SEPARATOR_NOT_ALLOWED = 10

       HEADER_TOO_LONG = 11

       UNKNOWN_DP_ERROR = 12

       ACCESS_DENIED = 13

       DP_OUT_OF_MEMORY = 14

       DISK_FULL = 15

       DP_TIMEOUT = 16

       其他= 17。



   如果SY-SUBRC <> 0。



     消息ID SY-MSGID类型SY-MSGTY编号SY-MSGNO



     与SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4。



   万一。





 选择结束。



   执行上传。



 表格上传。

   环聊IT_DATA。

 * -------------------------------------

     通话功能" CONVERSION_EXIT_ALPHA_INPUT"

       出口

         输入= IT_DATA-EMATN

       输入

         输出= IT_DATA-EMATN。

 * ----------------------------------------



     HEADER-DOC_TYPE ='ZKID'。

     HEADER-VENDOR =供应商。

     HEADER-CREAT_DATE = SY-DATUM。

     HEADER-CREATED_BY = SY-UNAME。

     HEADER-PURCH_ORG ='1000'。

     HEADER-PUR_GROUP ='S99'。

     HEADER-COMP_CODE ='3000'。







     HEADERX-COMP_CODE = C_X。

     HEADERX-DOC_TYPE = C_X。

     HEADERX-VENDOR = C_X。

     HEADERX-CREAT_DATE = C_X。

     HEADERX-CREATED_BY = C_X。

     HEADERX-PURCH_ORG = C_X。

     HEADERX-PUR_GROUP = C_X。





     ITEM-STGE_LOC ='1001'。

     ITEM-RET_ITEM ='X'。

     ITEM-PO_ITEM ='10'。

     ITEM-QUANTITY = IT_DATA-QUANTITY。

     ITEM-EMATERIAL = IT_DATA-EMATN。

     ITEM-SHORT_TEXT ='bapi deneme'。

     ITEM-ITEM_CAT ='N'。

     ITEM-MATL_GROUP ='313'。

     项目工厂= WERKS。

     " ITEM-PO_UNIT ='M'。







     附录项目。 清除项目。





 *

     ITEMX-RET_ITEM = C_X。

     ITEMX-PO_ITEM ='10'。

     ITEMX-STGE_LOC = C_X。

     ITEMX-EMATERIAL = C_X。

     " ITEMX-SHORT_TEXT = C_X。

     ITEMX-QUANTITY = C_X。

     ITEMX-ITEM_CAT = C_X。

     " ITEMX-MATL_GROUP = C_X。

     ITEMX-PLANT = C_X。

     " ITEMX-PO_UNIT = C_X。

     ITEM-RET_ITEM = C_X。





     附加ITEMX。 清除ITEMX。







     ITEMSCHEDULE-PO_ITEM ='00010'。



     追加项目时间表。

     清除项目时间表。







     ITEMSCHEDULEX-PO_ITEM = C_X。



     附加ITEMSCHEDULEX。

     清除项目。







     通话功能'BAPI_PO_CREATE1'

       出口

         POHEADER =标题

         POHEADERX = HEADERX

         "进口

         "采购订单=采购订单

       桌子

         返回=返回

         POITEM = ITEM

         POITEMX = ITEMX。





 *



     通话功能'BAPI_TRANSACTION_COMMIT'

       出口

         等待= ABAP_TRUE

       输入

         返回=返回。



     "回路返回。









     "呼叫功能'POPUP_TO_INFORM'

     "出口

     " TITEL ='SiparişDurumu'

     " TXT1 =返回消息

     " TXT2 =''

     " TXT3 =''

 * TXT4 =''

     " WRITE/RETURN-MESSAGE。





     数据:索引类型I。

     做2次。

       索引= SY-索引* 50。



       通话功能'SAPGUI_PROGRESS_INDICATOR'

         出口

           百分比=指数

           TEXT ='KonsinyeİadeSiparişleriOluşturuluyor。'。

       等待最多1秒。

     ENDDO。



     通话功能" MESSAGES_INITIALIZE"。



     返回时环回。

       通话功能" MESSAGE_STORE"

         出口

           ARBGB = RETURN-ID

           EXCEPTION_IF_NOT_ACTIVE =''

           MSGTY =返回类型

           MSGV1 = RETURN-MESSAGE_V1

           MSGV2 = RETURN-MESSAGE_V2

           MSGV3 = RETURN-MESSAGE_V3

           MSGV4 = RETURN-MESSAGE_V4

           TXTNR = RETURN-NUMBER

           ZEILE =''

         例外情况

           MESSAGE_TYPE_NOT_VALID = 1

           NOT_ACTIVE = 2

           其他= 3。

     结局。



     通话功能" MESSAGES_STOP"

       例外情况

         A_MESSAGE = 04

         E_MESSAGE = 03

         I_MESSAGE = 02

         W_MESSAGE = 01。



     如果不是SY-SUBRC是初始的。



       通话功能" MESSAGES_SHOW"

         出口

           I_USE_GRID ='X'

           " i_amodal_window ='X'

         例外情况

           INCONSISTENT_RANGE = 1

           NO_MESSAGES = 2

           其他= 3。

     万一。





   结局。









 ENDFORM。

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

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


大家好。

我正在用文本文件(格式为123123 1 matnr和数量)创建po(me21n)

当我上传这些文本时。 效果很好。 但是我需要使文本文件格式

ean11和数量。 (例如8681231231231 1)我找不到任何解决方案。

您可以在下面看到我的代码。

谢谢

 跨度 {
 字体家族:" Courier New";
 字体大小:10pt;
 颜色:#000000;
 背景:#FFFFFF;
 }
 .L0S31 {
 字体样式:斜体;
 颜色:#808080;
 }
 .L0S32 {
 颜色:#3399FF;
 }
 .L0S33 {
 颜色:#4DA619;
 }
 .L0S52 {
 颜色:#0000FF;
 }
 .L0S55 {
 颜色:#800080;
 }
 .L0S70 {
 颜色:#808080;
 }

 *&------------------------------------------------  --------------------- *

 *&报告ZIADE

 *&------------------------------------------------  --------------------- *

 *&

 *&------------------------------------------------  --------------------- *

 报告ZIADE 2。





 常量:C_X值" X"。

 数据:X TYPEI。

 数据:V_FILE TYPE STRING。

 数据:开始于IT_DATA发生0,

          " CREAT_DATE(50)," Yaratma Tarihi

          " VENDOR(50),"satıcı

          EMATN(18)," Malzemenumarası

          " SHORT_TEXT(50),

          " GRUP_ART(50),

          "工厂(50),

          数量(13),

          " PO_UNIT(50),

          " RET_ITEM(1),

          " DOCTYPE(50),



        结束于IT_DATA。

 数据:标题为BAPIMEPOHEADER,

        HEADERX就像BAPIMEPOHEADERX。

 数据:带有标题行的IT_INTERN类型ALSMEX_TABLINE发生0。

 数据:带有标题行的类似于BAPIMEPOACCOUNT的帐户发生了0次,

        像BAPIMEPOACCOUNTX这样的ACCOUNTX出现在标头行中,占0。

 数据:带有标题行的ITEMSCHEDULE(类似于BAPIMEPOSCHELELE发生)0,

        带有标题行的ITEMSCHEDULEX类似于BAPIMEPOSCHEDULX发生0。

 数据:带有标题行的类似BAPIMEPOITEM项出现0,

        像ITEMX这样的BAPIMEPOITEMX出现了0行,并带有标题行



        使用标题行返回类似BAPIRET2的事件,发生次数为0。



 " DATA:W_HEADER(40)VALUE" PO标头",

 "类似于BAPIMEPOHEADER-PO_NUMBER的购买者,

 ",例如BAPIMEPOSCHEDULE-DELIVERY_DATE。







 带有标题标题文本001的B1块的选择屏幕开始。



 参数:P_FILE类型RLGRAP-FILENAME默认'C:\ Users \ ERKANKA \ Desktop \ me21n.txt',

             类似于供应商的标头供应商默认'1001',

             像项目工厂默认的'3125'一样。

 " MATL LIKE ITEM-MATL_GROUP。

 B1块的选择屏幕结束。







 在P_FILE值请求的选择屏幕上。



   通话功能'F4_FILENAME'

     出口

       PROGRAM_NAME = SYST-CPROG

       DYNPRO_NUMBER = SYST-DYNNR

       FIELD_NAME =''

     输入

       FILE_NAME = P_FILE。



 选择开始。



   V_FILE = P_FILE。



   通话功能'GUI_UPLOAD'

     出口

       FILENAME = V_FILE

       FILETYPE ='ASC'

       HAS_FIELD_SEPARATOR =''

     桌子

       DATA_TAB = IT_DATA

     例外情况

       FILE_OPEN_ERROR = 1

       FILE_READ_ERROR = 2

       NO_BATCH = 3

       GUI_REFUSE_FILETRANSFER = 4

       INVALID_TYPE = 5

       NO_AUTHORITY = 6

       UNKNOWN_ERROR = 7

       BAD_DATA_FORMAT = 8

       HEADER_NOT_ALLOWED = 9

       SEPARATOR_NOT_ALLOWED = 10

       HEADER_TOO_LONG = 11

       UNKNOWN_DP_ERROR = 12

       ACCESS_DENIED = 13

       DP_OUT_OF_MEMORY = 14

       DISK_FULL = 15

       DP_TIMEOUT = 16

       其他= 17。



   如果SY-SUBRC <> 0。



     消息ID SY-MSGID类型SY-MSGTY编号SY-MSGNO



     与SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4。



   万一。





 选择结束。



   执行上传。



 表格上传。

   环聊IT_DATA。

 * -------------------------------------

     通话功能" CONVERSION_EXIT_ALPHA_INPUT"

       出口

         输入= IT_DATA-EMATN

       输入

         输出= IT_DATA-EMATN。

 * ----------------------------------------



     HEADER-DOC_TYPE ='ZKID'。

     HEADER-VENDOR =供应商。

     HEADER-CREAT_DATE = SY-DATUM。

     HEADER-CREATED_BY = SY-UNAME。

     HEADER-PURCH_ORG ='1000'。

     HEADER-PUR_GROUP ='S99'。

     HEADER-COMP_CODE ='3000'。







     HEADERX-COMP_CODE = C_X。

     HEADERX-DOC_TYPE = C_X。

     HEADERX-VENDOR = C_X。

     HEADERX-CREAT_DATE = C_X。

     HEADERX-CREATED_BY = C_X。

     HEADERX-PURCH_ORG = C_X。

     HEADERX-PUR_GROUP = C_X。





     ITEM-STGE_LOC ='1001'。

     ITEM-RET_ITEM ='X'。

     ITEM-PO_ITEM ='10'。

     ITEM-QUANTITY = IT_DATA-QUANTITY。

     ITEM-EMATERIAL = IT_DATA-EMATN。

     ITEM-SHORT_TEXT ='bapi deneme'。

     ITEM-ITEM_CAT ='N'。

     ITEM-MATL_GROUP ='313'。

     项目工厂= WERKS。

     " ITEM-PO_UNIT ='M'。







     附录项目。 清除项目。





 *

     ITEMX-RET_ITEM = C_X。

     ITEMX-PO_ITEM ='10'。

     ITEMX-STGE_LOC = C_X。

     ITEMX-EMATERIAL = C_X。

     " ITEMX-SHORT_TEXT = C_X。

     ITEMX-QUANTITY = C_X。

     ITEMX-ITEM_CAT = C_X。

     " ITEMX-MATL_GROUP = C_X。

     ITEMX-PLANT = C_X。

     " ITEMX-PO_UNIT = C_X。

     ITEM-RET_ITEM = C_X。





     附加ITEMX。 清除ITEMX。







     ITEMSCHEDULE-PO_ITEM ='00010'。



     追加项目时间表。

     清除项目时间表。







     ITEMSCHEDULEX-PO_ITEM = C_X。



     附加ITEMSCHEDULEX。

     清除项目。







     通话功能'BAPI_PO_CREATE1'

       出口

         POHEADER =标题

         POHEADERX = HEADERX

         "进口

         "采购订单=采购订单

       桌子

         返回=返回

         POITEM = ITEM

         POITEMX = ITEMX。





 *



     通话功能'BAPI_TRANSACTION_COMMIT'

       出口

         等待= ABAP_TRUE

       输入

         返回=返回。



     "回路返回。









     "呼叫功能'POPUP_TO_INFORM'

     "出口

     " TITEL ='SiparişDurumu'

     " TXT1 =返回消息

     " TXT2 =''

     " TXT3 =''

 * TXT4 =''

     " WRITE/RETURN-MESSAGE。





     数据:索引类型I。

     做2次。

       索引= SY-索引* 50。



       通话功能'SAPGUI_PROGRESS_INDICATOR'

         出口

           百分比=指数

           TEXT ='KonsinyeİadeSiparişleriOluşturuluyor。'。

       等待最多1秒。

     ENDDO。



     通话功能" MESSAGES_INITIALIZE"。



     返回时环回。

       通话功能" MESSAGE_STORE"

         出口

           ARBGB = RETURN-ID

           EXCEPTION_IF_NOT_ACTIVE =''

           MSGTY =返回类型

           MSGV1 = RETURN-MESSAGE_V1

           MSGV2 = RETURN-MESSAGE_V2

           MSGV3 = RETURN-MESSAGE_V3

           MSGV4 = RETURN-MESSAGE_V4

           TXTNR = RETURN-NUMBER

           ZEILE =''

         例外情况

           MESSAGE_TYPE_NOT_VALID = 1

           NOT_ACTIVE = 2

           其他= 3。

     结局。



     通话功能" MESSAGES_STOP"

       例外情况

         A_MESSAGE = 04

         E_MESSAGE = 03

         I_MESSAGE = 02

         W_MESSAGE = 01。



     如果不是SY-SUBRC是初始的。



       通话功能" MESSAGES_SHOW"

         出口

           I_USE_GRID ='X'

           " i_amodal_window ='X'

         例外情况

           INCONSISTENT_RANGE = 1

           NO_MESSAGES = 2

           其他= 3。

     万一。





   结局。









 ENDFORM。
付费偷看设置
发送
2条回答
骆驼绵羊
1楼-- · 2020-09-27 04:45

嗨,艾尔坎,

首先,请格式化代码,因为很难阅读。
第二,您在返回表中遇到哪个错误?

樱桃小丸子0093
2楼-- · 2020-09-27 04:27

您好。

我更新了。.这种样式我没有得到错误。

但是我想使我的导入txt文件格式ean11数量样式

一周热门 更多>