Skip to Content
author's profile photo
Former Member

Question of bapi_po_create

Where could I input the components' infomation when I use bapi_po_create?Just like I could assign the information in table POCOMPONENTS when I am use the bapi_po_create1 ...

Message was edited by:

Voldemort Xu

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

1 Answer

  • author's profile photo
    Former Member
    Posted on Aug 21, 2007 at 05:00 PM

    CHECK THIS.

    constants : c_x value 'X'.

    data: del_date type sy-datum.

    data: pohead type bapimepoheader.

    data: poheadx type bapimepoheaderx.

    data: exp_head type bapimepoheader.

    data: return type table of bapiret2 with header line.

    data: poitem type table of bapimepoitem with header line.

    data: poitemx type table of bapimepoitemx with header line.

    data: posched type table of bapimeposchedule with header line.

    data: poschedx type table of bapimeposchedulx with header line.

    data: ex_po_number type bapimepoheader-po_number.

    parameters: p_matnr type ekpo-matnr.

    parameters: p_werks type ekpo-werks.

    parameters: p_lgort type ekpo-lgort.

    parameters: p_menge type ekpo-menge.

    parameters: p_lifnr type ekko-lifnr.

    parameters: p_ekorg type ekko-ekorg.

    parameters: p_ekgrp type ekko-ekgrp.

    parameters: p_bukrs type ekko-bukrs.

    • Header Level Data

    pohead-comp_code = p_bukrs.

    pohead-doc_type = 'NB' .

    pohead-creat_date = sy-datum .

    pohead-vendor = p_lifnr.

    pohead-purch_org = p_ekorg.

    pohead-pur_group = p_ekgrp.

    pohead-langu = sy-langu .

    pohead-doc_date = sy-datum.

    poheadx-comp_code = c_x.

    poheadx-doc_type = c_x.

    poheadx-creat_date = c_x.

    poheadx-vendor = c_x.

    poheadx-langu = c_x.

    poheadx-purch_org = c_x.

    poheadx-pur_group = c_x.

    poheadx-doc_date = c_x.

    • Item Level Data

    poitem-po_item = 1.

    poitem-material = p_matnr.

    poitem-plant = p_werks.

    poitem-stge_loc = p_lgort.

    poitem-quantity = p_menge.

    append poitem.

    poitemx-po_item = 1.

    poitemx-po_itemx = c_x.

    poitemx-material = c_x.

    poitemx-plant = c_x .

    poitemx-stge_loc = c_x .

    poitemx-quantity = c_x .

    poitemx-tax_code = c_x .

    poitemx-item_cat = c_x .

    poitemx-acctasscat = c_x .

    append poitemx.

    • Schedule Line Level Data

    posched-po_item = 1.

    posched-sched_line = 1.

    posched-del_datcat_ext = 'D'.

    del_date = sy-datum + 1.

    write del_date to posched-delivery_date.

    posched-deliv_time = '000001'.

    posched-quantity = p_menge.

    append posched.

    poschedx-po_item = 1.

    poschedx-sched_line = 1.

    poschedx-po_itemx = c_x.

    poschedx-sched_linex = c_x.

    poschedx-del_datcat_ext = c_x.

    poschedx-delivery_date = c_x.

    poschedx-quantity = c_x.

    append poschedx.

    call function 'BAPI_PO_CREATE1'

    exporting

    poheader = pohead

    poheaderx = poheadx

    testrun = ' '

    importing

    exppurchaseorder = ex_po_number

    expheader = exp_head

    tables

    return = return

    poitem = poitem

    poitemx = poitemx

    poschedule = posched

    poschedulex = poschedx.

    call function 'BAPI_TRANSACTION_COMMIT'

    exporting

    wait = 'X'.

    if not ex_po_number is initial.

    call function 'DEQUEUE_ALL'.

    else.

    call function 'DEQUEUE_ALL'.

    • message i036.

    endif.

    Add comment
    10|10000 characters needed characters exceeded