批量创建采购订单 BAPI_PO_CREATE1

时间:2022-09-13 15:45:19

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

*& REPORT  ZMM_PO_CREATE

*&

*& REPORTNAME   :批量创建PO

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

*& CREATED BY   : LIUXINYUAN

*& CREATED DATE : 2015-03-16

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



REPORT  ZMM_PO_CREATE.



TYPE-POOLS: SLIS.

TYPE-POOLS:ICON.





*订单类型+採购组织+公司代码+採购组+工厂+供应商+合并标记同样





TYPES:BEGIN OF TY_PO,

      BSART TYPE EKKO-BSART,   "订单类型

      EKORG TYPE EKKO-EKORG,   "採购组织

      BUKRS TYPE EKKO-BUKRS,   "公司代码

      EKGRP TYPE EKKO-EKGRP,   "採购组

      WERKS TYPE EKPO-WERKS,   "工厂

      LIFNR TYPE EKKO-LIFNR,   "供应商

      HBBJ(3),                 "合并标记

      PSTYP TYPE EKPO-PSTYP,   "行项目类别

      MATNR TYPE EKPO-MATNR,   "物料号

      MENGE(13)," TYPE EKPO-MENGE,   "数量

      EINDT TYPE EKET-EINDT,   "交货期

END OF TY_PO.



DATA:IT_PO TYPE TABLE OF TY_PO WITH HEADER LINE,

     WA_PO TYPE TY_PO.



TYPES:BEGIN OF TY_PO_RESULT,

      BSART TYPE EKKO-BSART,   "订单类型

      EKORG TYPE EKKO-EKORG,   "採购组织

      BUKRS TYPE EKKO-BUKRS,   "公司代码

      EKGRP TYPE EKKO-EKGRP,   "採购组

      WERKS TYPE EKPO-WERKS,   "工厂

      LIFNR TYPE EKKO-LIFNR,   "供应商

      PSTYP TYPE EKPO-PSTYP,   "行项目类别

      MATNR TYPE EKPO-MATNR,   "物料号

      MENGE(13)," TYPE EKPO-MENGE,   "数量

      EINDT TYPE EKET-EINDT,   "交货期

      HBBJ(1),                 "合并标记

      EBELN TYPE EKPO-EBELN,

      EBELP TYPE EKPO-EBELP,

      FLAG(1),

      MESSAGE(200),

END OF TY_PO_RESULT.



DATA:IT_PO_RESULT TYPE TABLE OF TY_PO_RESULT WITH HEADER LINE,

     TIT_PO_RESULT TYPE TABLE OF TY_PO_RESULT WITH HEADER LINE.



DATA:LV_MESSAGE TYPE STRING.



DATA:LV_EBELN TYPE EKPO-EBELN.











DATA IT_FLDTAB TYPE TPIT_T_FNAME  WITH HEADER LINE.

DATA: L_IRC TYPE I,L_LINE TYPE I.



DATA:L_TEXT(200).



DATA:IT_MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.

DATA:G_INFO TYPE STRING.



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

* CONSTANTS                                                            *

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

CONSTANTS:                            """上传数据准备

C_BEGIN_ROW TYPE I VALUE 1,       "BEGINNING ROW OF EXCEL FILE

C_BEGIN_COL TYPE I VALUE 1,       "BEGINNING COLUMN OF EXCEL FILE

C_END_ROW   TYPE I VALUE 50000,   "ENDING ROW OF EXCEL FILE

C_END_COL   TYPE I VALUE 100.     "ENDING COLUMN OF EXCEL FILE





*DATA:LV_DTYPE(1).

**ALV

DATA:GT_EVENT_EXIT TYPE SLIS_T_EVENT_EXIT.

DATA:GS_EVENT_EXIT TYPE SLIS_EVENT_EXIT.



DATA:GT_FIELDCAT TYPE LVC_T_FCAT WITH HEADER LINE.

DATA:GC_GLAY TYPE LVC_S_GLAY.

DATA:GS_LAYOUT    TYPE LVC_S_LAYO,     "SLIS_LAYOUT_ALV,

     WK_REPID     LIKE SY-REPID.

DATA:GS_GRID TYPE LVC_S_GLAY.

DATA:TEM_GRID TYPE REF TO CL_GUI_ALV_GRID.

DATA:GT_EVENTS TYPE SLIS_T_EVENT.

DATA:GS_EVENTS LIKE LINE OF GT_EVENTS.



DATA:LV_DATUM TYPE SY-DATUM.



SELECTION-SCREEN: FUNCTION KEY 1.   "激活下载模板button

**选择屏幕

SELECTION-SCREEN BEGIN OF BLOCK MAIN WITH FRAME TITLE TEXT-001.



*    SELECT-OPTIONS:S_BUKRS FOR BKPF-BUKRS.

*    SELECT-OPTIONS:S_BUDAT FOR BKPF-BUDAT.

*    SELECT-OPTIONS:S_BELNR FOR BKPF-BELNR.



PARAMETERS:P_FILE  LIKE RLGRAP-FILENAME ."DEFAULT 'C:\USERS\ADMINISTRATOR\DESKTOP\计划独立需求的批量导入模板.XLS'.   "上载文件路径



SELECTION-SCREEN END OF BLOCK MAIN.



AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.

  PERFORM FRM_GET_FILENAME USING P_FILE.



AT SELECTION-SCREEN.



*  LOOP AT S_WERKS.

*        AUTHORITY-CHECK OBJECT 'Z_MM_003'

*                            ID 'WERKS' FIELD S_WERKS-LOW.

*        IF SY-SUBRC <> 0.

*            MESSAGE E019(ZMM001) WITH S_WERKS-LOW.

*        ENDIF.

*  ENDLOOP.



AT SELECTION-SCREEN OUTPUT.





**主程序

START-OF-SELECTION.



PERFORM FRM_RETRIVE_DATA.

PERFORM FRM_BAPI_CREATE_PO .

PERFORM FRM_DOWNLOAD_DATA.





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

*&      FORM  FRM_BAPI_CREATE_PO

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

*       TEXT

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

*  -->  P1        TEXT

*  <--  P2        TEXT

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

FORM FRM_BAPI_CREATE_PO .

  DATA: POHEADER  LIKE TABLE OF BAPIMEPOHEADER  WITH HEADER LINE ,

        POHEADERX LIKE TABLE OF BAPIMEPOHEADERX WITH HEADER LINE,

        RETURN LIKE TABLE OF BAPIRET2  WITH HEADER LINE,

        POITEM    LIKE TABLE OF BAPIMEPOITEM WITH HEADER LINE,

        POITEMX LIKE TABLE OF BAPIMEPOITEMX WITH HEADER LINE,

        POSCHEDULE LIKE TABLE OF BAPIMEPOSCHEDULE WITH HEADER LINE,

        POSCHEDULEX LIKE TABLE OF BAPIMEPOSCHEDULX WITH HEADER LINE,

        POTEXTITEM LIKE TABLE OF BAPIMEPOTEXT WITH HEADER LINE.

  CONSTANTS: CON VALUE 'X'.

  DATA: LIFNR TYPE LFA1-LIFNR,

        NETPR TYPE EKPO-NETPR,

        ROW TYPE I,

        SCHEDULELINE TYPE I.

  DATA: EPO LIKE BAPIMEPOHEADER-PO_NUMBER.

  DATA: L_RETURN LIKE RETURN.



  DATA: LV_ERROR(1).



  DATA: LV_AA TYPE STRING,

        LV_TYPE TYPE DD01V-DATATYPE.



  REFRESH IT_PO_RESULT.

  CLEAR IT_PO_RESULT.



  REFRESH TIT_PO_RESULT.

  CLEAR TIT_PO_RESULT.



  SORT IT_PO BY BSART EKORG BUKRS EKGRP WERKS LIFNR HBBJ.



  LOOP AT IT_PO.

        CLEAR WA_PO.



        MOVE-CORRESPONDING IT_PO TO WA_PO.



        AT NEW HBBJ.

            REFRESH TIT_PO_RESULT.

            CLEAR TIT_PO_RESULT.



            CLEAR LIFNR.

            LIFNR = WA_PO-LIFNR.





            CLEAR LV_AA.

            CLEAR LV_TYPE.



            CALL FUNCTION 'NUMERIC_CHECK'

              EXPORTING

                STRING_IN  = LIFNR

              IMPORTING

                STRING_OUT = LV_AA

                HTYPE      = LV_TYPE.



            IF LV_TYPE = 'NUMC'.

                CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

                      EXPORTING

                         INPUT = LIFNR

                      IMPORTING

                         OUTPUT = LIFNR.

            ENDIF.

            POHEADER-DOC_TYPE     = WA_PO-BSART.

            POHEADER-VENDOR       = LIFNR.

            POHEADER-PURCH_ORG    = WA_PO-EKORG.

            POHEADER-PUR_GROUP    = WA_PO-EKGRP.

            POHEADER-COMP_CODE    = WA_PO-BUKRS.

            POHEADER-DOC_DATE     = SY-DATUM.





            POHEADERX-DOC_TYPE    = CON.

            POHEADERX-VENDOR      = CON.

            POHEADERX-PURCH_ORG   = CON.

            POHEADERX-PUR_GROUP   = CON.

            POHEADERX-COMP_CODE   = CON.

            POHEADERX-DOC_DATE    = CON.





        ENDAT.



        ROW = ROW + 10.

        POITEM-PO_ITEM = ROW.          "採购凭证的项目编号

        POITEM-QUANTITY = WA_PO-MENGE. "採购订单数量

        POITEM-MATERIAL = WA_PO-MATNR.

        POITEM-PLANT = WA_PO-WERKS.    "工厂



        IF WA_PO-PSTYP <> ''.

           SELECT SINGLE

                  PSTYP

                  INTO POITEM-ITEM_CAT

                  FROM T163Y

                  WHERE SPRAS = '1'

                     AND EPSTP = WA_PO-PSTYP.

        ELSE.

           POITEM-ITEM_CAT = WA_PO-PSTYP.

        ENDIF.



        IF WA_PO-BSART = 'ZNPI'.

           POITEM-FREE_ITEM = 'X'.

        ENDIF.



        APPEND POITEM.

        CLEAR POITEM.



        POITEMX-PO_ITEM = ROW .  "採购凭证的项目编号

        POITEMX-QUANTITY = CON.  "採购订单数量

        POITEMX-MATERIAL = CON.

        POITEMX-PLANT = CON.     "工厂

        POITEMX-ITEM_CAT = CON.



        IF WA_PO-BSART = 'ZNPI'.

           POITEMX-FREE_ITEM = CON.

        ENDIF.

        APPEND POITEMX.

        CLEAR POITEMX.



        MOVE-CORRESPONDING WA_PO TO TIT_PO_RESULT.

        TIT_PO_RESULT-EBELP = ROW.

        APPEND TIT_PO_RESULT.

        CLEAR TIT_PO_RESULT.



        SCHEDULELINE = SCHEDULELINE + 1.

        POSCHEDULE-PO_ITEM = ROW . "採购凭证的项目编号

        POSCHEDULE-SCHED_LINE = SCHEDULELINE . "採购凭证的项目编号

        POSCHEDULE-DEL_DATCAT_EXT = 'D'."交货日期的类别

        POSCHEDULE-DELIVERY_DATE = WA_PO-EINDT."交货日期

        POSCHEDULE-QUANTITY  = WA_PO-MENGE."採购订单数量



        APPEND POSCHEDULE.

        CLEAR POSCHEDULE.



        POSCHEDULEX-PO_ITEM = ROW . "採购凭证的项目编号

        POSCHEDULEX-SCHED_LINE = SCHEDULELINE . "採购凭证的项目编号

        POSCHEDULEX-DEL_DATCAT_EXT = CON."交货日期的类别

        POSCHEDULEX-DELIVERY_DATE = CON."交货日期

        POSCHEDULEX-QUANTITY  = CON."採购订单数量



        APPEND POSCHEDULEX.

        CLEAR POSCHEDULEX.

        AT END OF HBBJ.



            CALL FUNCTION 'BAPI_PO_CREATE1'

            EXPORTING

            POHEADER               = POHEADER

            POHEADERX              = POHEADERX

*                     POADDRVENDOR           =

*                     TESTRUN                =

*                     MEMORY_UNCOMPLETE      =

*                     MEMORY_COMPLETE        =

*                     POEXPIMPHEADER         =

*                     POEXPIMPHEADERX        =

*                     VERSIONS               =

*                     NO_MESSAGING           =

*                     NO_MESSAGE_REQ         =

*                     NO_AUTHORITY           =

*                     NO_PRICE_FROM_PO       =

            IMPORTING

            EXPPURCHASEORDER       = EPO

*                     EXPHEADER              =

*                     EXPPOEXPIMPHEADER      =

            TABLES

            RETURN = RETURN

            POITEM                 = POITEM

            POITEMX                = POITEMX

*                     POADDRDELIVERY         =

            POSCHEDULE             = POSCHEDULE

            POSCHEDULEX            = POSCHEDULEX

*                     POACCOUNT              =  POACCOUNT

*                     POACCOUNTPROFITSEGMENT =

*                     POACCOUNTX             = POACCOUNTX

*                     POCONDHEADER           =

*                     POCONDHEADERX          =

*                     POCOND                 =

*                     POCONDX                =

*                     POLIMITS               =

*                     POCONTRACTLIMITS       =

*                     POSERVICES             =

*                     POSRVACCESSVALUES      =

*                     POSERVICESTEXT         =

*                     EXTENSIONIN            =

*                     EXTENSIONOUT           =

*                     POEXPIMPITEM           =

*                     POEXPIMPITEMX          =

*                     POTEXTHEADER           =

*                     POTEXTITEM             =  POTEXTITEM

*                     ALLVERSIONS            =

*                     POPARTNER              =

*                     POCOMPONENTS           =

*                     POCOMPONENTSX          =

*                     POSHIPPING             =

*                     POSHIPPINGX            =

*                     POSHIPPINGEXP          =

            .



            CLEAR LV_ERROR.

            LOOP AT RETURN INTO L_RETURN WHERE TYPE = 'E' .

                 LV_ERROR = '1'.

                 EXIT.

            ENDLOOP.



            IF LV_ERROR = '1'.

                CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.



                CLEAR LV_MESSAGE.

                LOOP AT RETURN INTO L_RETURN WHERE TYPE = 'E' .

                      CONCATENATE LV_MESSAGE L_RETURN-MESSAGE ';' INTO LV_MESSAGE.

                ENDLOOP.



                LOOP AT TIT_PO_RESULT.

                      TIT_PO_RESULT-FLAG = 'E'.

                      CONCATENATE '创建PO失败:' LV_MESSAGE INTO TIT_PO_RESULT-MESSAGE.

                      MODIFY TIT_PO_RESULT.

                      CLEAR TIT_PO_RESULT.

                ENDLOOP.

            ELSE.

                CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

                    EXPORTING

                      WAIT = 'X'.



                CLEAR LV_EBELN.

                LOOP AT RETURN INTO L_RETURN WHERE TYPE = 'S' AND ID = '06' AND NUMBER = '017'.

                      LV_EBELN = L_RETURN-MESSAGE_V2.

                ENDLOOP.



                LOOP AT TIT_PO_RESULT.

                      TIT_PO_RESULT-FLAG = 'S'.

                      TIT_PO_RESULT-MESSAGE = '创建PO成功!'.

                      TIT_PO_RESULT-EBELN = LV_EBELN.

                      MODIFY TIT_PO_RESULT.

                      CLEAR TIT_PO_RESULT.

                ENDLOOP.

            ENDIF.



            LOOP AT TIT_PO_RESULT.

                 MOVE-CORRESPONDING TIT_PO_RESULT TO IT_PO_RESULT.

                 APPEND IT_PO_RESULT.

                 CLEAR IT_PO_RESULT.

            ENDLOOP.





            REFRESH: POITEM,POITEMX,POSCHEDULE,POSCHEDULEX,POHEADER,POHEADERX,RETURN.

            CLEAR: IT_PO, WA_PO, ROW, POITEM,POITEMX,POSCHEDULE,POSCHEDULEX,POHEADER,POHEADERX,RETURN.



        ENDAT.

  ENDLOOP.



ENDFORM. " FRM_BAPI_CREATE_PO







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

*&      FORM  FRM_GET_FILENAME

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

*       TEXT

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

*      -->P_P_FILE  TEXT

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

FORM FRM_GET_FILENAME  USING  P_FILE.

  DATA: L_FILETAB   TYPE FILETABLE,

        L_RC      TYPE I.

  CLEAR L_FILETAB.

  REFRESH L_FILETAB.

* OPEN DIALOG

  CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG

    EXPORTING

      WINDOW_TITLE         = '选择上传的文件'

*     DEFAULT_EXTENSION    =

      DEFAULT_FILENAME     = '*.XLS'

*     FILE_FILTER          = '*.XLS'

      INITIAL_DIRECTORY    = 'C:\'

      MULTISELECTION       = ''

    CHANGING

      FILE_TABLE           = L_FILETAB

      RC                   = L_RC

    EXCEPTIONS

      CNTL_ERROR           = 1

      ERROR_NO_GUI         = 2

      NOT_SUPPORTED_BY_GUI = 3

      OTHERS               = 4.

* GET FILE PATH

  CHECK L_RC EQ 1.

  READ TABLE L_FILETAB INDEX 1 INTO P_FILE.

ENDFORM.                    " FRM_GET_FILENAME







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

*&      FORM  FRM_RETRIVE_DATA

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

*       TEXT

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

*  -->  P1        TEXT

*  <--  P2        TEXT

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

FORM FRM_RETRIVE_DATA.



  CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'

    EXPORTING

      TEXT = '数据处理中.................'.





  DATA I_EXCEL TYPE KCDE_INTERN_STRUC OCCURS 0 WITH HEADER LINE.

  REFRESH I_EXCEL.

  CLEAR I_EXCEL.



*从已知文件名称读入内表

  CALL FUNCTION 'KCD_EXCEL_OLE_TO_INT_CONVERT'

    EXPORTING

      FILENAME                = P_FILE

      I_BEGIN_COL             = 1

      I_BEGIN_ROW             = 1

      I_END_COL               = 20

      I_END_ROW               = 65535

    TABLES

      INTERN                  = I_EXCEL[]

    EXCEPTIONS

      INCONSISTENT_PARAMETERS = 1

      UPLOAD_OLE              = 2

      OTHERS                  = 3.



  IF SY-SUBRC <> 0.

    MESSAGE  '打开文件错误,请检查文件,确保关闭文件!' TYPE 'E'.

    STOP.

  ENDIF.



  REFRESH IT_PO.

  CLEAR IT_PO.



  LOOP AT I_EXCEL.

    CASE I_EXCEL-COL.

      WHEN '001'.

        WRITE I_EXCEL-VALUE TO IT_PO-BSART.

      WHEN '002'.

        WRITE I_EXCEL-VALUE TO IT_PO-EKORG.

      WHEN '003'.

        WRITE I_EXCEL-VALUE TO IT_PO-BUKRS.

      WHEN '004'.

        WRITE I_EXCEL-VALUE TO IT_PO-EKGRP.

      WHEN '005'.

        WRITE I_EXCEL-VALUE TO IT_PO-WERKS.

      WHEN '006'.

        WRITE I_EXCEL-VALUE TO IT_PO-LIFNR.

      WHEN '007'.

        WRITE I_EXCEL-VALUE TO IT_PO-PSTYP.



      WHEN '008'.

        WRITE I_EXCEL-VALUE TO IT_PO-MATNR.



        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

            EXPORTING

               INPUT = IT_PO-MATNR

            IMPORTING

               OUTPUT = IT_PO-MATNR.





      WHEN '009'.

        WRITE I_EXCEL-VALUE TO IT_PO-MENGE.



      WHEN '010'.

        WRITE I_EXCEL-VALUE TO IT_PO-EINDT.

        IF I_EXCEL-VALUE <> '交货期'.

            CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'

                 EXPORTING

                    DATE_EXTERNAL = I_EXCEL-VALUE

                 IMPORTING

                    DATE_INTERNAL = IT_PO-EINDT.

        ENDIF.





      WHEN '011'.

        WRITE I_EXCEL-VALUE TO IT_PO-HBBJ.



    ENDCASE.

    AT END OF ROW.

      APPEND IT_PO.

      CLEAR  IT_PO.

    ENDAT.

  ENDLOOP.



* 删除表头

  DELETE IT_PO INDEX 1.



ENDFORM.                    " FRM_RETRIVE_DATA













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

*&      Form  FRM_DOWNLOAD_DATA

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

*       下载数据到xls文件

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

FORM FRM_DOWNLOAD_DATA .



    DATA:LV_FILENAME TYPE STRING.



    DATA:BEGIN OF T_FIELDNAMES  OCCURS 0,

            NAME TYPE CHAR20,

         END OF T_FIELDNAMES.





    REFRESH T_FIELDNAMES.

    CLEAR T_FIELDNAMES.



    T_FIELDNAMES-NAME = '订单类型'.

    APPEND T_FIELDNAMES.



    T_FIELDNAMES-NAME = '採购组织'.

    APPEND T_FIELDNAMES.



    T_FIELDNAMES-NAME = '公司代码'.

    APPEND T_FIELDNAMES.



    T_FIELDNAMES-NAME = '採购组'.

    APPEND T_FIELDNAMES.



    T_FIELDNAMES-NAME = '工厂'.

    APPEND T_FIELDNAMES.



    T_FIELDNAMES-NAME = '供应商'.

    APPEND T_FIELDNAMES.



    T_FIELDNAMES-NAME = '行项目类别'.

    APPEND T_FIELDNAMES.



    T_FIELDNAMES-NAME = '物料号'.

    APPEND T_FIELDNAMES.



    T_FIELDNAMES-NAME = '数量'.

    APPEND T_FIELDNAMES.



    T_FIELDNAMES-NAME = '交货期'.

    APPEND T_FIELDNAMES.



    T_FIELDNAMES-NAME = '合并标记'.

    APPEND T_FIELDNAMES.



    T_FIELDNAMES-NAME = '採购订单号'.

    APPEND T_FIELDNAMES.



    T_FIELDNAMES-NAME = '採购订单行项目'.

    APPEND T_FIELDNAMES.



    T_FIELDNAMES-NAME = '订单创建是否成功标记'.

    APPEND T_FIELDNAMES.



    T_FIELDNAMES-NAME = '订单创建返回信息'.

    APPEND T_FIELDNAMES.



    CLEAR LV_FILENAME.



    CONCATENATE 'C:\PO批导日志' SY-DATUM SY-UZEIT '.XLS' INTO LV_FILENAME.



    CALL FUNCTION 'GUI_DOWNLOAD'

      EXPORTING

        FILENAME                        = LV_FILENAME "'C:\1234.XLS'

        FILETYPE                        = 'DAT'

    "这里一般用DAT,假设用ASC则1000-不会显示为-1000,而DAT会显示为-1000,假设用DBF则不会有缩进,即字符前面的空格会被除去,并且字符的前导0也会输出。

        CODEPAGE                        = '8404'

      TABLES

        DATA_TAB                        = IT_PO_RESULT

        FIELDNAMES                      = T_FIELDNAMES.



   MESSAGE '已完毕创建凭证,结果保存在C盘文件夹下,请查看!.' TYPE 'I'.

ENDFORM.                    " FRM_DOWNLOAD_DATA

版权声明:本文博主原创文章。博客,未经同意不得转载。

批量创建采购订单 BAPI_PO_CREATE1的更多相关文章

  1. 【MM系列】SAP MM模块-收货自动创建采购订单

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP MM模块-收货自动创建采购订 ...

  2. 函数使用一:采购订单BAPI&lowbar;PO&lowbar;CREATE1

    REPORT YTEST01. DATA:GS_POHEADER TYPE BAPIMEPOHEADER, GS_POHEADERX TYPE BAPIMEPOHEADERX, GT_RETURN T ...

  3. 创建采购订单批到程序用的BAPI

    CALL FUNCTION 'BAPI_PO_CREATE1' EXPORTING poheader = poheader poheaderx = poheaderx * POADDRVENDOR = ...

  4. 3&period;21&Tab;采购订单导入MDS

    3.21.1   业务方案描述 同一企业集团内部的不同法人之间,双方间内部往来业务频繁.受集团财务各自独立核算的要求,买方和卖方间采用买卖方式进行业务运作和财务结算. 对于买方,按照内部商定的协议价格 ...

  5. 2018&period;05&period;17 nace关于采购订单的配置笔记

    由于公司的打印都是使用nast作为记录表,在给日企中国客户做扩展时单独配置了一下nace的设置 ZM01作为采购订单批量打印的输出类型,ZM02作为采购订单创建变更时输出的pdf打印输出类型 1.TC ...

  6. ME&lowbar;PROCESS&lowbar;PO&lowbar;CUST 实现采购订单行项目增强

    用户希望创建采购订单时,输入行项目时,能根据采购订单类型,自动带出科目分类类别. 业务顾问看了一下配置,不能实现这个功能,所以用增强实现. 采购订单BADI增强:ME_PROCESS_PO_CUST. ...

  7. &lbrack;AX&rsqb;AX2012 R2 采购订单的&OpenCurlyDoubleQuote;Request change”

    在采购订单List或者Detail窗口的操作面板上有一个叫做“Request change”的按钮,如果这个按钮是激活的,采购订单不能直接编辑,而必须先使用这个按钮请求修改后,采购订单才能进入编辑状态 ...

  8. SAP IDOC 通过采购订单输出消息生成销售订单

    题记: 在网络上看到一篇类似的公众号文章,叫<通过IDoc逐步指导PO&SO集成>,个人觉得整个配置过程中还是少了一些重点配置,也少了说明整个功能的核心逻辑,那么,趁着这个机会,就 ...

  9. 20190615 NACE关于采购订单的输出类型

    项目已经做好的配置,我们复盘一下 一.使用NACE 进入输出控制条件: EF 采购订单,首先看->输出类型 标准是使用 nast 作为记录表 1输出类型, 2过程, 3 存取顺序,4 条件记录: ...

随机推荐

  1. 如何使用Android Studio开发&sol;调试Android源码

    本文是以源码中development/tools/idegen/README作为指导文档. 环境: Ubuntu 14.10,openJdk 1.7,Android Studio 1.0.2,andr ...

  2. Shell之数学计算

    本博客已经迁往http://www.kemaswill.com/, 博客园这边也会继续更新, 欢迎关注~ 数学计算是Shell中比较常用的一种操作,  但是因为shell中所有的变量都默认为字符串, ...

  3. 【转】 class 和 struct 区别

    转载来源:http://blog.sina.com.cn/s/blog_48f587a80100k630.html C++中的struct对C中的struct进行了扩充,它已经不再只是一个包含不同数据 ...

  4. 机房收费系统总结之4——VB&period;NET 轻松解决判断文本框、组合框为空问题

    纵观机房收费系统,判断文本框.组合框为空问题无非两种情况.第一种:判断窗体中所有文本框.组合框是否为空.第二种:判断一部分文本框.组合框是否为空.下面看看是如何实现这两种情况的. 第一种:判断窗体中所 ...

  5. KVM之七:KVM克隆

    1.在克隆虚拟机之前,必须先暂停或者停掉kvm 虚拟机.以虚拟机 snale 为例,先暂停虚拟机,如下 [root@kvm ~ ::]#virsh list Id 名称 状态 ------------ ...

  6. Spring 的application&period;properties项目配置与注解

    一.项目结构介绍 如上图所示,Spring Boot的基础结构共三个文件: src/main/java  程序开发以及主程序入口 src/main/resources 配置文件 src/test/ja ...

  7. Android DevArt5:如何在Android中创建多线程?

    本篇内容: 如何在Android中创建多进程?查看进程的三种方式有哪些? 多进程模式的运行机制?- 演示了多进程出现问题中的两种情况: 静态成员失效 Application多次创建 IPC基础概念介绍 ...

  8. linux du查询目录所占的磁盘空间

    linux查询目录所占的磁盘空间 du -hxs /* --exclude=/proc |sort -rh 命令和选项的解释: du – 估计文件的空间使用情况 -hsx – (-h)更易读的格式,( ...

  9. 根据twitter的snowflake算法生成唯一ID

    C#版本 /// <summary> /// 根据twitter的snowflake算法生成唯一ID /// snowflake算法 64 位 /// 0---0000000000 000 ...

  10. &lt&semi;a&gt&semi;标签实现链接和锚点的区别

    如果是实现链接,a标签中必须有href属性,并且属性值是合法的url 如果实现锚点,a标签中必须有name属性,当点击该标签时,会跳转到id同该标签的name值相同的元素处.