메뉴 건너뛰기

SAP 한국 커뮤니티

BAPI_SALESDOCU_CREATEFROMDATA1 판매오더를 이렇게 생성해도 되는군요.

노름마치 2007.12.10 21:42 조회 수 : 5507 추천:2

REPORT z_bapi_salesorder_create.


* Parameters
* Sales document type
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 2(20) v_text FOR FIELD p_auart.
PARAMETERS: p_auart TYPE auart OBLIGATORY.
SELECTION-SCREEN END OF LINE.


* Sales organization
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 2(20) v_text1 FOR FIELD p_vkorg.
PARAMETERS: p_vkorg TYPE vkorg OBLIGATORY.
SELECTION-SCREEN END OF LINE.


* Distribution channel
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 2(20) v_text2 FOR FIELD p_vtweg.
PARAMETERS: p_vtweg TYPE vtweg OBLIGATORY.
SELECTION-SCREEN END OF LINE.


* Division.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 2(20) v_text3 FOR FIELD p_spart.
PARAMETERS: p_spart TYPE spart OBLIGATORY.
SELECTION-SCREEN END OF LINE.


SKIP 1.


* Sold-to
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 2(20) v_text4 FOR FIELD p_sold.
PARAMETERS: p_sold  TYPE kunnr OBLIGATORY.
SELECTION-SCREEN END OF LINE.


* Ship-to
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 2(20) v_text5 FOR FIELD p_ship.
PARAMETERS: p_ship  TYPE kunnr OBLIGATORY.
SELECTION-SCREEN END OF LINE.


SKIP 1.


* Material
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 2(20) v_text6 FOR FIELD p_matnr.
PARAMETERS: p_matnr TYPE matnr   OBLIGATORY.
SELECTION-SCREEN END OF LINE.


* Quantity.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 2(20) v_text7 FOR FIELD p_menge.
PARAMETERS: p_menge TYPE kwmeng  OBLIGATORY.
SELECTION-SCREEN END OF LINE.


* Plant
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 2(20) v_text9 FOR FIELD p_plant.
PARAMETERS: p_plant TYPE werks_d OBLIGATORY.
SELECTION-SCREEN END OF LINE.


* Data declarations.
DATA: v_vbeln            LIKE vbak-vbeln.
DATA: header             LIKE bapisdhead1.
DATA: headerx            LIKE bapisdhead1x.
DATA: item               LIKE bapisditem  OCCURS 0 WITH HEADER LINE.
DATA: itemx              LIKE bapisditemx OCCURS 0 WITH HEADER LINE.
DATA: partner            LIKE bapipartnr  OCCURS 0 WITH HEADER LINE.
DATA: return             LIKE bapiret2    OCCURS 0 WITH HEADER LINE.
DATA: lt_schedules_inx   TYPE STANDARD TABLE OF bapischdlx
                         WITH HEADER LINE.
DATA: lt_schedules_in    TYPE STANDARD TABLE OF bapischdl
                         WITH HEADER LINE.


* Initialization.
INITIALIZATION.
v_text   = 'Order type'.
v_text1  = 'Sales Org'.
v_text2  = 'Distribution channel'.
v_text3  = 'Division'.
v_text4  = 'Sold-to'.
v_text5  = 'Ship-to'.
v_text6  = 'Material'.
v_text7  = 'Quantity'.
v_text9  = 'Plant'.


* Start-of-selection.
START-OF-SELECTION.


* Header data


* Sales document type
  header-doc_type = p_auart.
  headerx-doc_type = 'X'.


* Sales organization
  header-sales_org = p_vkorg.
  headerx-sales_org = 'X'.


* Distribution channel
  header-distr_chan  = p_vtweg.
  headerx-distr_chan = 'X'.


* Division
  header-division = p_spart.
  headerx-division = 'X'.


  headerx-updateflag = 'I'.


* Partner data
* Sold to
  partner-partn_role = 'AG'.
  partner-partn_numb = p_sold.
  APPEND partner.


* Ship to
  partner-partn_role = 'WE'.
  partner-partn_numb = p_ship.
  APPEND partner.


* ITEM DATA
  itemx-updateflag = 'I'.


* Line item number.
  item-itm_number = '000010'.
  itemx-itm_number = 'X'.


* Material
  item-material = p_matnr.
  itemx-material = 'X'.


* Plant
  item-plant    = p_plant.
  itemx-plant   = 'X'.


* Quantity
  item-target_qty = p_menge.
  itemx-target_qty = 'X'.


  APPEND item.
  APPEND itemx.


*   Fill schedule lines
  lt_schedules_in-itm_number = '000010'.
  lt_schedules_in-sched_line = '0001'.
  lt_schedules_in-req_qty    = p_menge.
  APPEND lt_schedules_in.


*   Fill schedule line flags
  lt_schedules_inx-itm_number  = '000010'.
  lt_schedules_inx-sched_line  = '0001'.
  lt_schedules_inx-updateflag  = 'X'.
  lt_schedules_inx-req_qty     = 'X'.
  APPEND lt_schedules_inx.


* Call the BAPI to create the sales order.
  CALL FUNCTION 'BAPI_SALESDOCU_CREATEFROMDATA1'
       EXPORTING
            sales_header_in     = header
            sales_header_inx    = headerx
       IMPORTING
            salesdocument_ex    = v_vbeln
       TABLES
            return              = return
            sales_items_in      = item
            sales_items_inx     = itemx
            sales_schedules_in  = lt_schedules_in
            sales_schedules_inx = lt_schedules_inx
            sales_partners      = partner.


* Check the return table.
  LOOP AT return WHERE type = 'E' OR type = 'A'.
    EXIT.
  ENDLOOP.


  IF sy-subrc = 0.


    WRITE: / 'Error in creating document'.


  ELSE.


* Commit the work.
    COMMIT WORK AND WAIT.


    WRITE: / 'Document ', v_vbeln, ' created'.


  ENDIF.

번호 제목 글쓴이 날짜 조회 수
367 표준편차구하는 로직 윤사모 2011.03.23 9371
366 BAPI자료입니다. [14] file neopaper 2011.03.23 10293
365 IE 9.0 설치 시 se80 다운되는 문제 해결 [5] Jey 2011.03.16 6996
364 <img src=d.gif>Source Activation 시 [READ_REPORT_LINE_TOO_LONG] dump 발생하면?[추천:e-abap] [5] JYG 2011.02.11 9425
363 [For Power User] Dynamic Transient Program [3] file 양키 2011.01.21 6019
362 <img src=d.gif>[For Power User] Dynamic Creation of Data Objects[추천:e-abap] [3] 양키 2011.01.20 5005
361 [For Power User]Dynamic Casting Symbol Variable [3] 양키 2011.01.19 5755
360 <img src=d.gif>테이블 Lock & UnLock function[추천:e-abap] [1] 양키 2011.01.18 8269
359 <img src=b.gif>계속 남아있는 Debugger창 없에기(New Debugger)[추천:e-abap][추천:보나][추천:버미!] [14] 해처리 2011.01.07 8167
358 SAP GUI WINDOW TITLE BAR 정보 표시 설정 방법 / 색상 설정 [15] file 미소 2010.12.26 13452
357 Internal Table 알아보기 [15] file 양키 2010.12.20 8000
356 ASP.NET과 wsdl로 연동시 광돈 2010.12.17 7339
355 풍선도움말 Quickinfo [16] file 양키 2010.12.17 7213
354 Breakpoints 알아보기 [4] 양키 2010.12.14 8175
353 Number Range Object 변경/삭제 [4] file MadMax 2010.12.07 8171
352 새 창에서 트랜잭션 실행하기... 'Navigation_execute_object' 입니다.. [8] 밥~~ 2010.12.02 6132
351 <img src=c.gif>Regular Expression Processing in ABAP[추천:e-abap][추천:유리선율] [5] file magicsy69 2010.11.24 5539
350 AT SELECTION-SCREEN ON BLOCK b01. 육억 2010.11.17 6067
349 윈도우7에서 sapgui가 꺼지는 현상에 관한 팁 [14] 고양이야옹 2010.10.21 9573
348 [Function]달력 팝업창을 뛰워보자 [14] file 양키 2010.10.07 7843