Bapi for creating purchase order

hi, iam using BAPI_PO_CREATE1 to create PO's for service. after creating opne PO if i go and create another po within a short span of a minute or so then it does not create the second PO. it gives message that doc does not contain any items.
TABLES: ekpo,zcta_podates,ekko.
DATA iekpo LIKE ekpo OCCURS 0 WITH HEADER LINE.
DATA iekko LIKE ekko OCCURS 0 WITH HEADER LINE.
DATA ipodates LIKE zcta_podates OCCURS 0 WITH HEADER LINE.
DATA : wabldat1 LIKE zcta_podates-podat.
DATA : wabldat2 LIKE zcta_podates-podat.
DATA : wabldat3 LIKE zcta_podates-podat.
DATA : wabldat4 LIKE zcta_podates-podat.
DATA : wabldat5 LIKE zcta_podates-podat.
DATA : wabldat6 LIKE zcta_podates-podat.
DATA : wabldat7 LIKE zcta_podates-podat.
DATA :fname1 TYPE string.
DATA :w_fname1 TYPE string.
DATA : BEGIN OF itab1 OCCURS 0 ,
       txz01 LIKE mepo1211-txz01,
       werks LIKE mepo1211-name1,
       srvpos  LIKE esll-srvpos,
       gross(15),
       val1(10),   "LIKE esll-frmval1,
       val2(10),   " LIKE esll-frmval2
       val3(10),
      zzformat LIKE ekpo-zzformat,
      zzcampaign LIKE ekpo-zzcampaign,
      zzmeansofad LIKE ekpo-zzmeansofad,
      zzcity  LIKE ekpo-zzcity,
      zzlangu  LIKE ekpo-zzlangu,
      zzedition LIKE ekpo-zzedition,
      zzcolorhue  LIKE ekpo-zzcolorhue,
      zztypeofad LIKE ekpo-zztypeofad,
      date1(10),
       date2(10),
       date3(10),
       date4(10),
       date5(10),
       date6(10),
       date7(10),
       END OF itab1.
DATA :BEGIN OF itab2 OCCURS 0,         " radio
         txz01 LIKE mepo1211-txz01,
      werks LIKE mepo1211-name1,
      srvpos  LIKE esll-srvpos,
      gross(12),
      val1(10),   "LIKE esll-frmval1,
      val2(10),   " LIKE esll-frmval2
      zzformat LIKE ekpo-zzformat,
      zzcampaign  LIKE ekpo-zzcampaign,
      zzmeansofad LIKE ekpo-zzmeansofad,
      zzcity      LIKE ekpo-zzcity,
      zzprogramname LIKE ekpo-zzprogramname,
      zzdealstructure LIKE ekpo-zzdealstructure,
      zztimeband    LIKE ekpo-zztimeband,
     date1(10),
       date2(10),
       date3(10),
       date4(10),
       date5(10),
       date6(10),
       date7(10),
      END OF itab2.
DATA :BEGIN OF itab3 OCCURS 0,   "tv
      txz01 LIKE mepo1211-txz01,
      werks LIKE mepo1211-name1,
      srvpos  LIKE esll-srvpos,
      gross(12),
      val1(10),   "LIKE esll-frmval1,
      val2(10),   " LIKE esll-frmval2
      zzformat LIKE ekpo-zzformat,
      zzcampaign    LIKE ekpo-zzcampaign,
      zzmeansofad LIKE ekpo-zzmeansofad,
      zzgenre        LIKE ekpo-zzgenre,
      zzprogramname LIKE ekpo-zzprogramname,
      zzdealstructure LIKE ekpo-zzdealstructure,
      zztimeband    LIKE ekpo-zztimeband,
      zzlangu       LIKE ekpo-zzlangu,
      zzcity(20),  "      LIKE ekpo-zzcity,
      date1(10),
       date2(10),
       date3(10),
       date4(10),
       date5(10),
       date6(10),
       date7(10),
      END OF itab3.
DATA :BEGIN OF itab4 OCCURS 0,   "OUTDOOR
         txz01 LIKE mepo1211-txz01,
      werks LIKE mepo1211-name1,
      srvpos  LIKE esll-srvpos,
      gross(12),
      val1(10),   "LIKE esll-frmval1,
      val2(10),   " LIKE esll-frmval2
      cond(12),
      zzformat LIKE ekpo-zzformat,
      zzcampaign    LIKE ekpo-zzcampaign,
      zzmeansofad LIKE ekpo-zzmeansofad,
      zzcity      LIKE ekpo-zzcity,
      zzlocationorroad LIKE ekpo-zzlocationorroad,
      zztypeofad  LIKE ekpo-zztypeofad,
      zztrafficdirtn LIKE ekpo-zztrafficdirtn,
      date1(10),
       date2(10),
       date3(10),
       date4(10),
       date5(10),
       date6(10),
       date7(10),
      END OF itab4.
DATA :BEGIN OF itab5 OCCURS 0,  "INTERNET
      txz01 LIKE mepo1211-txz01,
      werks LIKE mepo1211-name1,
      srvpos  LIKE esll-srvpos,
      gross(12),
      val1(10),   "LIKE esll-frmval1,
      val2(10),   " LIKE esll-frmval2
      cond(12),
      zzformat LIKE ekpo-zzformat,
      zzcampaign    LIKE ekpo-zzcampaign,
      zzmeansofad LIKE ekpo-zzmeansofad,
      zztypeofad  LIKE ekpo-zztypeofad,
      zzsection      LIKE ekpo-zzsection,
     date1(10),
       date2(10),
       date3(10),
       date4(10),
       date5(10),
       date6(10),
       date7(10),
      END OF itab5.
DATA :BEGIN OF itab6 OCCURS 0,  "CINEMA
      txz01 LIKE mepo1211-txz01,
      werks LIKE mepo1211-name1,
      srvpos  LIKE esll-srvpos,
      gross(12),
      val1(10),   "LIKE esll-frmval1,
      val2(10),   " LIKE esll-frmval2
      cond(12),
      zzformat LIKE ekpo-zzformat,
      zzcampaign    LIKE ekpo-zzcampaign,
      zzcity      LIKE ekpo-zzcity,
      zzlocationorroad LIKE ekpo-zzlocationorroad,
      zzcinemaname   LIKE ekpo-zzcinemaname,
      date1(10),
       date2(10),
       date3(10),
       date4(10),
       date5(10),
       date6(10),
       date7(10),
      END OF itab6.
DATA :BEGIN OF itab7 OCCURS 0,   "OTHER MEDIA
         txz01 LIKE mepo1211-txz01,
      werks LIKE mepo1211-name1,
      srvpos  LIKE esll-srvpos,
      gross(12),
      val1(10),   "LIKE esll-frmval1,
      val2(10),   " LIKE esll-frmval2
      val3(10),
      val4(10),
      zzformat LIKE ekpo-zzformat,
      zcampaign    LIKE ekpo-zzcampaign,
      zzmeansofad LIKE ekpo-zzmeansofad,
      zzcity      LIKE ekpo-zzcity,
      zzedition   LIKE ekpo-zzedition,
      zzcolorhue  LIKE ekpo-zzcolorhue,
      zztypeofad  LIKE ekpo-zztypeofad,
      zzlangu       LIKE ekpo-zzlangu,
      zzgenre        LIKE ekpo-zzgenre,
      zzprogramname LIKE ekpo-zzprogramname,
      zzdealstructure LIKE ekpo-zzdealstructure,
      zztimeband    LIKE ekpo-zztimeband,
      zzlocationorroad LIKE ekpo-zzlocationorroad,
      zzsection      LIKE ekpo-zzsection,
      date1(10),
       date2(10),
       date3(10),
       date4(10),
       date5(10),
       date6(10),
       date7(10),
      END OF itab7.
DATA :BEGIN OF itab8 OCCURS 0,    "NO MEDIA
        txz01 LIKE mepo1211-txz01,
      werks LIKE mepo1211-name1,
      srvpos  LIKE esll-srvpos,
      qty(12),
      gross(12),
      zzformat LIKE ekpo-zzformat,
      zzcampaign    LIKE ekpo-zzcampaign,
      zzcity      LIKE ekpo-zzcity,
      date1(10),
       date2(10),
       date3(10),
       date4(10),
       date5(10),
       date6(10),
       date7(10),
      END OF itab8.
DATA : BEGIN OF str OCCURS 0,
       txz01 LIKE mepo1211-txz01,
       werks LIKE mepo1211-name1,
       srvpos  LIKE esll-srvpos,
       gross(15),
       val1(10),   "LIKE esll-frmval1,
       val2(10),   " LIKE esll-frmval2
       val3(10),
      val4(10),
      zzformat LIKE ekpo-zzformat,
      zzcampaign LIKE ekpo-zzcampaign,
      zzmeansofad LIKE ekpo-zzmeansofad,
      zzcity  LIKE ekpo-zzcity,
      zzlangu  LIKE ekpo-zzlangu,
      zzedition LIKE ekpo-zzedition,
      zzcolorhue  LIKE ekpo-zzcolorhue,
      zztypeofad LIKE ekpo-zztypeofad,
      zzillumination LIKE ekpo-zzillumination ,
     zztrafficdirtn LIKE ekpo-zztrafficdirtn ,
    zzstore LIKE ekpo-zzstore ,
    zzcasting LIKE ekpo-zzcasting ,
    zzgenre LIKE ekpo-zzgenre ,
    zzsection LIKE ekpo-zzsection ,
    zznumberofdays LIKE ekpo-zznumberofdays ,
    zzprogramname LIKE ekpo-zzprogramname ,
    zzdealstructure LIKE ekpo-zzdealstructure ,
    zztimeband LIKE ekpo-zztimeband ,
    zzdate LIKE ekpo-zzdate ,
zzdaysofwk LIKE ekpo-zzdaysofwk ,
zzasnum LIKE ekpo-zzasnum ,
zzlocationorroad LIKE ekpo-zzlocationorroad ,
zzcinemaname LIKE ekpo-zzcinemaname ,
zzcapacity LIKE ekpo-zzcapacity ,
zzfield2 LIKE ekpo-zzfield2 ,
zzfield3 LIKE ekpo-zzfield3 ,
       date1(10),
       date2(10),
       date3(10),
       date4(10),
       date5(10),
       date6(10),
       date7(10),
       END OF str.
DATA :package(10) TYPE n VALUE '4747'.
DATA :subpackage(10) TYPE n VALUE '4748'.
DATA : l_po_header LIKE bapimepoheader.
DATA : l_po_headerx LIKE bapimepoheaderx.
DATA : l_purchaseorder LIKE bapimepoheader-po_number.
DATA : t_po_account LIKE bapimepoaccount OCCURS 0 WITH HEADER LINE.
DATA : t_po_accountx LIKE bapimepoaccountx OCCURS 0 WITH HEADER LINE.
DATA : t_po_servalue LIKE bapiesklc OCCURS 0 WITH HEADER LINE.
DATA : BEGIN OF t_po_items OCCURS 0.
        INCLUDE STRUCTURE bapimepoitem.
DATA : END OF t_po_items.
DATA : BEGIN OF t_po_itemsx OCCURS 0.
        INCLUDE STRUCTURE bapimepoitemx.
DATA : END OF t_po_itemsx.
DATA : BEGIN OF t_return OCCURS 0.
        INCLUDE STRUCTURE bapiret2.
DATA : END OF t_return.
DATA : BEGIN OF t_po_services OCCURS 0.
        INCLUDE STRUCTURE bapiesllc.
DATA : END OF t_po_services.
DATA: l_item(5) TYPE n,l_last_po(10).
*TABLES : zerror.
DATA lcounter(3) TYPE n.
DATA : l_errflag.
SELECTION-SCREEN:BEGIN OF BLOCK b1 WITH FRAME.
PARAMETER:x_lifnr LIKE ekko-lifnr .
PARAMETER:x_ekorg LIKE ekko-ekorg DEFAULT '9000' .
PARAMETER:x_ekgrp LIKE ekko-ekgrp .
PARAMETER:x_bukrs LIKE ekko-bukrs DEFAULT '0101' .
PARAMETER:x_bsart LIKE ekko-bsart DEFAULT 'ZNB1'.
PARAMETER:x_sdate LIKE ekko-bedat.
PARAMETER : x_edate LIKE ekko-bedat.
PARAMETER: pr_fn1 LIKE ibipparms-path OBLIGATORY.
PARAMETER: rad1 RADIOBUTTON GROUP gr1.
PARAMETER: rad2 RADIOBUTTON GROUP gr1.
PARAMETER: rad3 RADIOBUTTON GROUP gr1.
PARAMETER: rad4 RADIOBUTTON GROUP gr1.
PARAMETER: rad5 RADIOBUTTON GROUP gr1.
PARAMETER: rad6 RADIOBUTTON GROUP gr1.
PARAMETER: rad7 RADIOBUTTON GROUP gr1.
PARAMETER: rad8 RADIOBUTTON GROUP gr1.
SELECTION-SCREEN:END OF BLOCK b1 .
AT SELECTION-SCREEN ON VALUE-REQUEST FOR pr_fn1.
  CALL FUNCTION 'F4_FILENAME'
    IMPORTING
      file_name = pr_fn1.
  MOVE pr_fn1 TO w_fname1.
START-OF-SELECTION.
  IF rad1 = 'X'.
    PERFORM table_upload  TABLES itab1.
  ELSEIF rad2 = 'X'.
    PERFORM table_upload  TABLES itab2.
  ELSEIF rad3 = 'X'.
    PERFORM table_upload  TABLES itab3.
  ELSEIF rad4 = 'X'.
    PERFORM table_upload  TABLES itab4.
  ELSEIF rad5 = 'X'.
    PERFORM table_upload  TABLES itab5.
  ELSEIF rad6 = 'X'.
    PERFORM table_upload  TABLES itab6.
  ELSEIF rad7 = 'X'.
    PERFORM table_upload  TABLES itab7.
  ELSEIF rad8 = 'X'.
    PERFORM table_upload  TABLES itab8.
  ENDIF.
  LOOP AT str.
    SHIFT str-srvpos RIGHT DELETING TRAILING ' '.
    OVERLAY str-srvpos WITH '00000000000000000'.
    MODIFY str.
  ENDLOOP.
  CLEAR : l_po_header.
  PERFORM create_po_header.
  LOOP AT str FROM 2 .
    PERFORM append_item.
  ENDLOOP.
  PERFORM create_po.
  WAIT UP TO 5 SECONDS.
  SELECT * FROM ekpo INTO CORRESPONDING FIELDS OF TABLE iekpo WHERE ebeln = l_purchaseorder.
  COMMIT WORK.
  WAIT UP TO  5 SECONDS.
  LOOP AT iekpo.
    l_item =  sy-tabix + 1.
    READ TABLE str INDEX  l_item.
    iekpo-zzfield2 = str-zzfield2 .
    iekpo-zzfield3 = str-zzfield3 .
    iekpo-zzformat = str-zzformat .
    iekpo-zzmeansofad = str-zzmeansofad .
    iekpo-zzedition = str-zzedition .
    iekpo-zzcolorhue = str-zzcolorhue .
    iekpo-zztypeofad = str-zztypeofad .
    iekpo-zzcity = str-zzcity .
    iekpo-zzlangu = str-zzlangu .
    iekpo-zzdaysofwk = str-zzdaysofwk .
    iekpo-zzasnum = str-zzasnum .
    iekpo-zzlocationorroad = str-zzlocationorroad .
    iekpo-zzcinemaname = str-zzcinemaname .
    iekpo-zzcapacity = str-zzcapacity .
    iekpo-zzcampaign = str-zzcampaign .
    iekpo-zzillumination = str-zzillumination .
    iekpo-zztrafficdirtn = str-zztrafficdirtn .
    iekpo-zzstore = str-zzstore .
    iekpo-zzcasting = str-zzcasting .
    iekpo-zzgenre = str-zzgenre .
    iekpo-zzsection = str-zzsection .
    iekpo-zznumberofdays = str-zznumberofdays .
    iekpo-zzprogramname = str-zzprogramname .
    iekpo-zzdealstructure = str-zzdealstructure .
    iekpo-zztimeband = str-zztimeband .
    iekpo-zzdate = str-zzdate .
    MODIFY iekpo.
  ENDLOOP.
  WAIT UP TO 2 SECONDS.
  COMMIT WORK.
  WAIT UP TO 15 SECONDS.
  UPDATE ekpo FROM TABLE iekpo.
  COMMIT WORK.
  WAIT UP TO 2 SECONDS.
  SELECT * FROM ekko INTO CORRESPONDING FIELDS OF TABLE iekko WHERE ebeln = l_purchaseorder.
  LOOP AT iekko.
    iekko-kdatb = x_sdate.
    iekko-kdate = x_edate.
    MODIFY iekko.
  ENDLOOP.
  UPDATE ekko FROM TABLE iekko.
  COMMIT WORK.
  WAIT UP TO 1 SECONDS.
  CLEAR l_item.
  l_item = 10.
  LOOP AT str FROM 2 .
    CONCATENATE str-date1+6(4)  str-date1+3(2)  str-date1(2)  INTO wabldat1.
    CONCATENATE str-date2+6(4)  str-date2+3(2)  str-date2(2)  INTO wabldat2.
    CONCATENATE str-date3+6(4)  str-date3+3(2)  str-date3(2)  INTO wabldat3.
    CONCATENATE str-date4+6(4)  str-date4+3(2)  str-date4(2)  INTO wabldat4.
    CONCATENATE str-date5+6(4)  str-date5+3(2)  str-date5(2)  INTO wabldat5.
    CONCATENATE str-date6+6(4)  str-date6+3(2)  str-date6(2)  INTO wabldat6.
    CONCATENATE str-date7+6(4)  str-date7+3(2)  str-date7(2)  INTO wabldat7.
    ipodates-ebeln = l_purchaseorder.
    ipodates-ebelp = l_item.
    ipodates-linno = '001'.
    ipodates-podat = wabldat1.
    APPEND ipodates.
    ipodates-ebeln = l_purchaseorder.
    ipodates-ebelp = l_item.
    ipodates-linno = '002'.
    ipodates-podat = wabldat2.
    APPEND ipodates.
    ipodates-ebeln = l_purchaseorder.
    ipodates-ebelp = l_item.
    ipodates-linno = '003'.
    ipodates-podat = wabldat3.
    APPEND ipodates.
    ipodates-ebeln = l_purchaseorder.
    ipodates-ebelp = l_item.
    ipodates-linno = '004'.
    ipodates-podat = wabldat4.
    APPEND ipodates.
    ipodates-ebeln = l_purchaseorder.
    ipodates-ebelp = l_item.
    ipodates-linno = '005'.
    ipodates-podat = wabldat5.
    APPEND ipodates.
    ipodates-ebeln = l_purchaseorder.
    ipodates-ebelp = l_item.
    ipodates-linno = '006'.
    ipodates-podat = wabldat6.
    APPEND ipodates.
    ipodates-ebeln = l_purchaseorder.
    ipodates-ebelp = l_item.
    ipodates-linno = '007'.
    ipodates-podat = wabldat7.
    APPEND ipodates.
    l_item = l_item + 10.
  ENDLOOP.
  WAIT UP TO 1 SECONDS.
  MODIFY zcta_podates FROM TABLE ipodates.
  COMMIT WORK.
  WAIT UP TO 2 SECONDS.
ipodates-podat,ipodates-ebeln,ipodates-ebelp,ipodates-linno.
  WAIT UP TO 5 SECONDS.
  LOOP AT t_return.
    WRITE :/ t_return-message.
  ENDLOOP.
free : ipodates,iekpo,str,itab1,itab2,itab3,itab4,itab5,itab6,itab7,itab8.
*&      Form  create_po_header
FORM create_po_header .
  l_po_header-comp_code = '0101'.             " Company Code
  l_po_header-doc_type = x_bsart.         "'ZNB1'.            " Order Typr BSART
  l_po_header-creat_date = sy-datum.        " P.O Dt - BEDAT
  l_po_header-doc_date  = sy-datum.
  l_po_header-vendor   =   x_lifnr.
  l_po_header-vper_start  = x_sdate.
  l_po_header-vper_end  =     x_edate.
  l_po_header-purch_org = '9000'.           " Purch. Org - EKKO-EKORG
  l_po_header-pur_group = x_ekgrp.        " Purch Group - EKKO-EKGRP
  l_po_header-currency_iso = 'INR'.
  CLEAR : l_po_headerx.
  l_po_headerx-po_number = 'X'.
  l_po_headerx-comp_code = 'X'." Company Code
  l_po_headerx-doc_type = 'X'. " Order Typr BSART
  l_po_headerx-vendor = 'X'. "Vendor - EKKO-LIFNR
  l_po_headerx-purch_org = 'X'. " Purch. Org - EKKO-EKORG
  l_po_headerx-pur_group = 'X'. " Purch Group - EKKO-EKGRP
  l_po_headerx-currency_iso = 'X'. " Currency Default field for Enjoy
  l_po_headerx-ref_1       = 'X'.
ENDFORM.                    " create_po_header
*&      Form  APPEND_ITEM
FORM append_item .
  package  = package + 2.
  subpackage = package + 1.
  l_item = l_item + 10.
  t_po_items-po_item =  l_item.
  t_po_items-acctasscat = 'K'.
  t_po_items-item_cat = 'D'.
  t_po_items-short_text = str-txz01. .
  t_po_items-plant = str-werks  . " P
  t_po_items-tax_code = 'S1'.
  t_po_items-pckg_no  =    package.            " 4748.             "package.
  APPEND t_po_items.
  CLEAR t_po_items.
  t_po_itemsx-po_item =  l_item.
  t_po_itemsx-po_itemx = 'X'.
  t_po_itemsx-acctasscat = 'X'.
  t_po_itemsx-item_cat = 'X'.
  t_po_itemsx-short_text = 'X'.
  t_po_itemsx-plant = 'X'.
  t_po_itemsx-tax_code = 'X'.
  t_po_itemsx-pckg_no  = 'X'.
  APPEND t_po_itemsx.
  CLEAR t_po_itemsx.
  t_po_account-po_item =  l_item.
  t_po_account-serial_no = 1.
  t_po_account-quantity = 1.
  t_po_account-distr_perc = '00'.
  t_po_account-costcenter = '0006079000'.                   " 'BR034'.
  t_po_account-gl_account = '0054014071'.        "'0000135075'.
  t_po_account-co_area    =  '1001'.
  APPEND t_po_account.
  CLEAR t_po_account.
  t_po_accountx-po_item =  l_item.
  t_po_accountx-serial_no = 1.
t_po_accountx-quantity = 'X'.
  t_po_accountx-distr_perc = 'X'.
  t_po_accountx-costcenter = 'X'.
  t_po_accountx-gl_account = 'X'.
  t_po_accountx-co_area  = 'X'.
  APPEND t_po_accountx.
  CLEAR t_po_accountx.
  t_po_services-pckg_no =  package.                         "'4748'.
  t_po_services-line_no = '0000000001' .
  t_po_services-ext_line = '0000000000' .
  t_po_services-outl_level = '0'.
  t_po_services-outl_no = ' '.
  t_po_services-outl_ind = 'X'.
  t_po_services-subpckg_no =  subpackage .                  "'4749'.
  APPEND t_po_services. CLEAR t_po_services .
  t_po_services-pckg_no = subpackage .                      "'4749'.
  t_po_services-line_no = '0000000002' .
  t_po_services-ext_line = '10' .
  t_po_services-outl_level = '0'.
  t_po_services-service = str-srvpos.          "'000000000003000045'.
  t_po_services-gr_price = str-gross.                       "'2000.00'.
  t_po_services-form_val1 =  str-val1.                      "'10.000'.
  t_po_services-form_val2 = str-val2.                       "'33.000'.
if rad1 = 'x'.
  t_po_services-form_val3 = str-val3.                       " '3.000'.
endif.
  t_po_services-tax_code   = 'S1'.
  APPEND t_po_services. CLEAR t_po_services .
  t_po_servalue-pckg_no = subpackage .                      "'4749'.
  t_po_servalue-line_no = '0000000002' .
  t_po_servalue-serial_no = '01'.
  APPEND t_po_servalue . CLEAR t_po_servalue.
ENDFORM.                    " APPEND_ITEM
*&      Form  create_po
FORM create_po .
  CALL FUNCTION 'BAPI_PO_CREATE1'
      EXPORTING
        poheader                     = l_po_header
       poheaderx                    =  l_po_headerx
     IMPORTING
       exppurchaseorder             = l_purchaseorder
     TABLES
       return                       = t_return
       poitem                       =  t_po_items
       poitemx                      =  t_po_itemsx
       poaccount                    = t_po_account
       poaccountx                   = t_po_accountx
       poservices                   = t_po_services
     posrvaccessvalues            =   t_po_servalue
  WAIT UP TO 15 SECONDS.
  CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
ENDFORM.                    " create_po
*&      Form  TABLE_UPLOAD
FORM table_upload  TABLES   p_itab1.  " structure < itab1 #local# >
  "Insert correct name for <...>.
  CALL FUNCTION 'GUI_UPLOAD'
  EXPORTING
    filename                      = w_fname1
   filetype                      = 'ASC'
   has_field_separator           = 'X'
   read_by_line                  = 'X'
   replacement                   = '#'
  TABLES
    data_tab                      =  p_itab1.
  LOOP AT p_itab1.
    MOVE-CORRESPONDING p_itab1 TO str.
    APPEND str.
    CLEAR p_itab1.
  ENDLOOP.
*  WAIT UP TO 5 SECONDS.
ENDFORM.                    " TABLE_UPLOAD

Hi,
Check this sample code..how to use the BAPI_PO_CREATE1.
REPORT  Z_TEST_PO   .
*DATA DECLARATION
CONSTANTS : C_X VALUE 'X'.
*Structures to hold PO header data
DATA : HEADER LIKE BAPIMEPOHEADER ,
HEADERX LIKE BAPIMEPOHEADERX .
*Structures to hold PO account data
DATA : ACCOUNT LIKE BAPIMEPOACCOUNT OCCURS 0 WITH HEADER LINE ,
ACCOUNTX LIKE BAPIMEPOACCOUNTX OCCURS 0 WITH HEADER LINE .
*Internal Tables to hold PO ITEM DATA
DATA : ITEM LIKE BAPIMEPOITEM OCCURS 0 WITH HEADER LINE,
ITEMX LIKE BAPIMEPOITEMX OCCURS 0 WITH HEADER LINE,
*Internal table to hold messages from BAPI call
RETURN LIKE BAPIRET2 OCCURS 0 WITH HEADER LINE,
*Internal table to hold messages from BAPI call
POCONTRACTLIMITS LIKE BAPIESUCC OCCURS 0 WITH HEADER LINE.
DATA : W_HEADER(40) VALUE 'PO Header',
PURCHASEORDER LIKE BAPIMEPOHEADER-PO_NUMBER,
DELIVERY_DATE LIKE BAPIMEPOSCHEDULE-DELIVERY_DATE.
DATA : WS_LANGU LIKE SY-LANGU.
*text-001 = 'PO Header' - define as text element
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETERS : COMPANY LIKE HEADER-COMP_CODE DEFAULT '122' ,
DOCTYP LIKE HEADER-DOC_TYPE DEFAULT 'NB' ,
CDATE LIKE HEADER-CREAT_DATE DEFAULT SY-DATUM ,
VENDOR LIKE HEADER-VENDOR DEFAULT '2000000012' ,
PUR_ORG LIKE HEADER-PURCH_ORG DEFAULT 'PU01' ,
PUR_GRP LIKE HEADER-PUR_GROUP DEFAULT '005' .
*sociedad like HEADER-COMP_CODE default '122' ,
*vendedor like HEADER-SALES_PERS default 'sale person'.
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.
PARAMETERS : ITEM_NUM LIKE ITEM-PO_ITEM DEFAULT '00010',
MATERIAL LIKE ITEM-MATERIAL DEFAULT '12000000' ,
TIPO_IMP LIKE ITEM-ACCTASSCAT DEFAULT 'K' ,
*pos_doc like ITEM-ITEM_CAT default 'F' ,
SHORTTXT LIKE ITEM-SHORT_TEXT DEFAULT 'PRUEBA BAPI' ,
GRUP_ART LIKE ITEM-MATL_GROUP DEFAULT '817230000' ,
PLANT LIKE ITEM-PLANT DEFAULT '3001' ,
MPE LIKE ITEM-TRACKINGNO DEFAULT '9999' ,
*contrato like ITEM-AGREEMENT default '4904000003' ,
*quantity like ITEM-QUANTITY default 1 .
PO_UNIT LIKE ITEM-PO_UNIT DEFAULT 'EA'.
SELECTION-SCREEN END OF BLOCK B2.
* Par?mnetros de imputaci?n
SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-004.
PARAMETERS : CENTRO LIKE ACCOUNT-COSTCENTER DEFAULT '1220813150',
CUENTA LIKE ACCOUNT-GL_ACCOUNT DEFAULT '6631400' ,
NUM_POS LIKE ACCOUNT-PO_ITEM DEFAULT '10' ,
SERIAL LIKE ACCOUNT-SERIAL_NO DEFAULT '01' ,
IND_IMP LIKE ACCOUNT-TAX_CODE DEFAULT 'I2' .
SELECTION-SCREEN END OF BLOCK B3.
START-OF-SELECTION.
*DATA POPULATION
  WS_LANGU = SY-LANGU. "Language variable
*POPULATE HEADER DATA FOR PO
*HEADER-COMP_CODE = sociedad .
  HEADER-DOC_TYPE = DOCTYP .
  HEADER-VENDOR = VENDOR .
  HEADER-CREAT_DATE = CDATE .
  HEADER-CREATED_BY = 'TD17191' .
  HEADER-PURCH_ORG = PUR_ORG .
  HEADER-PUR_GROUP = PUR_GRP .
  HEADER-COMP_CODE = COMPANY .
  HEADER-LANGU = WS_LANGU .
*HEADER-SALES_PERS = vendedor .
*HEADER-CURRENCY = 'DOP' .
*HEADER-ITEM_INTVL = 10 .
*HEADER-PMNTTRMS = 'N30' .
*HEADER-EXCH_RATE = 1 .
*POPULATE HEADER FLAG.
  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.
  HEADERX-LANGU = C_X.
*HEADERX-sales_pers = c_x.
*HEADERX-CURRENCY = c_x.
*HEADER-ITEM_INTVL = c_x.
*HEADER-PMNTTRMS = c_x.
*HEADER-EXCH_RATE = c_x.
*HEADER-EXCH_RATE = c_x.
*POPULATE ITEM DATA.
  ITEM-PO_ITEM = ITEM_NUM.
  ITEM-QUANTITY = '1'.
*ITEM-MATERIAL = material .
  ITEM-SHORT_TEXT = 'prueba bapi_po_create1'.
*ITEM-TAX_CODE = ''.
  ITEM-ACCTASSCAT = 'K' .
*ITEM-ITEM_CAT = 'D' .
  ITEM-MATL_GROUP = '817230000' .
  ITEM-PLANT = '3001' .
  ITEM-TRACKINGNO = '99999'.
  ITEM-PREQ_NAME = 'test'.
*ITEM-AGREEMENT = '' .
*ITEM-AGMT_ITEM = ''.
  ITEM-QUANTITY = '1' .
  ITEM-PO_UNIT = 'EA'.
*ITEM-ORDERPR_UN = 'EA'.
  ITEM-CONV_NUM1 = '1'.
  ITEM-CONV_DEN1 = '1'.
  ITEM-NET_PRICE = '1000000' .
  ITEM-PRICE_UNIT = '1'.
  ITEM-GR_PR_TIME = '0'.
  ITEM-PRNT_PRICE = 'X'.
  ITEM-UNLIMITED_DLV = 'X'.
  ITEM-GR_IND = 'X' .
  ITEM-IR_IND = 'X' .
  ITEM-GR_BASEDIV = 'X'.
*ITEM-PCKG_NO = '' .
  APPEND ITEM. CLEAR ITEM.
*POPULATE ITEM FLAG TABLE
  ITEMX-PO_ITEM = ITEM_NUM.
  ITEMX-PO_ITEMX = C_X.
*ITEMX-MATERIAL = C_X.
  ITEMX-SHORT_TEXT = C_X.
  ITEMX-QUANTITY = C_X.
*ITEMX-TAX_CODE = C_X.
  ITEMX-ACCTASSCAT = C_X.
*ITEMX-ITEM_CAT = c_x.
  ITEMX-MATL_GROUP = C_X.
  ITEMX-PLANT = C_X.
  ITEMX-TRACKINGNO = C_X.
  ITEMX-PREQ_NAME = C_X.
*ITEMX-AGREEMENT = C_X.
*ITEMX-AGMT_ITEM = c_x.
  ITEMX-STGE_LOC = C_X.
  ITEMX-QUANTITY = C_X.
  ITEMX-PO_UNIT = C_X.
*ITEMX-ORDERPR_UN = C_X.
  ITEMX-CONV_NUM1 = C_X.
  ITEMX-CONV_DEN1 = C_X.
  ITEMX-NET_PRICE = C_X.
  ITEMX-PRICE_UNIT = C_X.
  ITEMX-GR_PR_TIME = C_X.
  ITEMX-PRNT_PRICE = C_X.
  ITEMX-UNLIMITED_DLV = C_X.
  ITEMX-GR_IND = C_X .
  ITEMX-IR_IND = C_X .
  ITEMX-GR_BASEDIV = C_X .
  APPEND ITEMX. CLEAR ITEMX.
*POPULATE ACCOUNT DATA.
  ACCOUNT-PO_ITEM = ITEM_NUM.
  ACCOUNT-SERIAL_NO = SERIAL .
  ACCOUNT-CREAT_DATE = SY-DATUM .
  ACCOUNT-COSTCENTER = CENTRO .
  ACCOUNT-GL_ACCOUNT = CUENTA .
  ACCOUNT-GR_RCPT = 'tester'.
  APPEND ACCOUNT. CLEAR ACCOUNT.
*POPULATE ACCOUNT FLAG TABLE.
  ACCOUNTX-PO_ITEM = ITEM_NUM .
  ACCOUNTX-PO_ITEMX = C_X .
  ACCOUNTX-SERIAL_NO = SERIAL .
  ACCOUNTX-SERIAL_NOX = C_X .
  ACCOUNTX-CREAT_DATE = C_X .
  ACCOUNTX-COSTCENTER = C_X .
  ACCOUNTX-GL_ACCOUNT = C_X .
  ACCOUNT-GR_RCPT = C_X.
  APPEND ACCOUNTX. CLEAR ACCOUNTX.
*BAPI CALL
  CALL FUNCTION 'DIALOG_SET_NO_DIALOG'.
  CALL FUNCTION 'BAPI_PO_CREATE1'
    EXPORTING
      POHEADER         = HEADER
      POHEADERX        = HEADERX
    IMPORTING
      EXPPURCHASEORDER = PURCHASEORDER
    TABLES
      RETURN           = RETURN
      POITEM           = ITEM
      POITEMX          = ITEMX
      POACCOUNT        = ACCOUNT
      POACCOUNTX       = ACCOUNTX.
*Confirm the document creation by calling database COMMIT
  CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
  EXPORTING
  WAIT = 'X'
* IMPORTING
* RETURN =
END-OF-SELECTION.
*Output the messages returned from BAPI call
  LOOP AT RETURN.
    WRITE / RETURN-MESSAGE.
  ENDLOOP.
Regards
vijay

Similar Messages

  • Bapi for createing purchase order

    Hi,
    when i'm creating PO by BAPI        BAPI_PO_CREATE1
    given error message is comming
    No instance of object type PurchaseOrder has been created. External reference:
    PO header data still faulty
    can any body help me out.
    thanks
    mukesh

    Thanks for reply , pl. help me.
    THIS IS MY HEADER PARAMETER
    poheaderx-po_number = 'X'.
    POHEADERx-PURCH_ORG  = 'X' .
    POHEADERx-PUR_GROUP = 'X'.
    *POHEADER-CURRENCY =
    *POHEADER-CURRENCY_ISO
    *POHEADER-EXCH_RATE
    POHEADERX-ITEM_INTVL = 'X'.
    POHEADERx-DOC_DATE = 'X'.
    POHEADERx-DOC_TYPE = 'X' .
    POHEADERx-COMP_CODE = 'X'.
    POHEADERx-CREAT_DATE = 'X'.
    POHEADERx-VENDOR = 'X' .
    POHEADERx-CREATED_BY = 'X' .
    POHEADERx-PMNTTRMS = 'X'.
    POHEADERx-INCOTERMS1 = 'X' .
    POHEADERx-INCOTERMS2 = 'X' .
    POHEADERX-LANGU = 'X'.
    POHEADERX-EXCH_RATE = 'X'.
    POHEADERX-STATUS = 'X'.
    POHEADERX-SUPPL_VEND = 'X'.
    poheaderx-delete_ind = 'X'.
    poheaderx-our_ref   = 'X'.
    poheaderx-currency_iso = 'X'.
    poheaderx-dscnt1_to = 'X'.
    poheaderx-dscnt2_to = 'X'.
    poheaderx-dscnt3_to = 'X'.
    poheaderx-dsct_pct1 = 'X'.
    poheaderx-dsct_pct2 = 'X'.
    poheaderx-LANGU_ISO = 'X'.
    poheaderx-CURRENCY = 'X'.
    poheaderx-EX_RATE_FX = 'X'.
    poheaderx-VPER_START = 'X'.
    poheaderx-VPER_END = 'X'.
    poheaderx-WARRANTY = 'X'.
    poheaderx-QUOTATION = 'X'.
    poheaderx-QUOT_DATE = 'X'.
    poheaderx-REF_1 = 'X'.
    poheaderx-SALES_PERS = 'X'.
    poheaderx-LOGSYSTEM = 'X'.
    poheaderx-SUBITEMINT = 'X'.
    poheaderx-PO_REL_IND = 'X'.
    poheaderx-REL_STATUS = 'X'.
    poheaderx-VAT_CNTRY = 'X'.
    poheaderx-VAT_CNTRY_ISO = 'X'.
    poheaderx-REASON_CANCEL = 'X'.
    poheaderx-REASON_CODE = 'X'.
    POHEADER-PURCH_ORG  = 'DUPO' .
    POHEADER-PUR_GROUP = 'D01'.
    POHEADER-CURRENCY = 'AED'.
    *POHEADER-CURRENCY_ISO
    POHEADER-ITEM_INTVL = '00001'.
    POHEADER-DOC_DATE = SY-DATUM.
    POHEADER-DOC_TYPE = 'N10' .   "NB
    POHEADER-COMP_CODE = 'BSGL'.
    POHEADER-CREAT_DATE = SY-DATUM.
    POHEADER-VENDOR = '0000351466' .
    POHEADER-CREATED_BY = sy-uname.
    POHEADER-PMNTTRMS = '0001'.
    POHEADER-INCOTERMS1 = 'EXW' .
    POHEADER-INCOTERMS2 = 'PLANT' .
    POHEADER-LANGU =  sy-langu.
    POHEADER-EXCH_RATE = '1'.
    POHEADER-STATUS = '9'.
    POHEADERX-SUPPL_VEND = '0000351466'.
    poheader-our_ref   = 'REF'.
    ITEM LEVEL   PARAMETERS
    POITEM-EMATERIAL = WMATNR .
    POITEM-MATERIAL   = WMATNR .
      POITEM-PLANT = 'DUBI' .
      POITEM-QUANTITY = '1' .
    POITEM-PO_UNIT = 'MTS' .
      POITEM-NET_PRICE = '2500' .
      POITEM-TAX_CODE  = 'DT'.
      POITEM-BATCH = '0001331951'.
      POITEM-matl_group = '48200'.
    POITEM-PO_ITEM = '0001' .
    POITEM-stge_loc  = 'DU01'.
    POITEM-ITEM_CAT = '0'.
    APPEND POITEM.
    POITEMX-EMATERIAL = 'X'.
    POITEMX-MATERIAL   = 'X' .
      POITEMX-PLANT = 'X' .
      POITEMX-QUANTITY = 'X' .
      POITEMX-price_unit = 'X' .
      POITEMX-NET_PRICE = 'X' .
      POITEMX-TAX_CODE  = 'X'.
      POITEMX-BATCH = 'X'.
    POITEMX-PO_ITEM = '0001' .
    POITEMX-item_cat = 'X'.
    POITEMX-ITEM_CAT = 'X' .
    poitemx-matl_group = 'X' .
    APPEND POITEMX.

  • BAPI for Mass Purchase Order Confirmation

    Dear All,
    In standard SAP,it is possible to confirm for single line item only by using confirmation tab.
    We want to confirm Mass PO Confirmation.
    Is there any BAPI for Mass Purchase Order Confirmation?
    Regards,
    Ramesh

    Hi Sumant,
    I have tried with TC:MASS.
    By using this TC we can update quantity but not  delivery date & Confirmation Control (Fields available in the confirmation tab of ME22n for Vendor Confirmation).
    Is there any way to updates all these fields which are available in the Confirmation Tab?
    Is there any BAPI which is tranferring confirmation tab details into EKES table?
    Expecting your valuable inputs in this regard.
    Regards,
    Ramesh

  • I need output type NEU automaticaly for create purchase order document type

    Dear Experts,
    I need output type NEU automaticaly for create purchase order document type NB
    when transaction code MN04, I am doing the following:
    (1) I selected the third option Purchasing Output determination: Document type
    (2) I selected the output type NEU.
    (3) In condition records in document type , i have chosen NB.
    (4) In name its automatically coming as Purchase requisition
    Please suggest how Purchase Order NB will come

    Hi,
    Check & press F4, NB Purchase Order (for catagory F) will be there after entering PO output type NEU & then maintaion the condition record in MN04.
    Output type NEU automaticaly defaulted during purchase order creation with document type ,then just fine tune the output (message) type in following path:
    SPRO--->MM->Purchasing>Message>Output control->Message types> Define message type for Purchase Order----->Fine-Tuned Control: Purchase Order
    Now here select the check box corresponding to your output(message) type NEU to have print output automatically displayed & save.
    Now try to creating Purchase Order & you will have default message type NEU.
    Regards,
    Biju K

  • Search user-exit for create purchase order

    Hi all,
    i'm searching the user-exit (or BADI) for create purchase order.
    Thanks for help.

    Hi CECG,
    GOTO SMOD and press F4
    then Click on  Information system
    and in the Package name give as     ME
    and press enter.
    you will get all user exits for Purchase Orders
    Hope this solves your problem.
    Please reward points if found helpful.
    Thanks and regards,
    Rajeshwar.

  • Bapi to create purchase order

    Hi Experts,
                    I need to find a bapi to put purchase orders using co08.Please let me know if some bapi or function module exists there for the same.
    Thanks in advance

    See th Business object BUS2012
    u can see all bapis for Purchase order.
    BAPI_PO_CREATE
    BAPI_PO_CREATE1 to create purchase order.
    <b><REMOVED BY MODERATOR></b>
    Regards,
    Vimal
    Message was edited by:
            Alvaro Tejada Galindo

  • BAPI For CREATE SALES ORDER WITH REFERENCE TO ORDER

    Hi ,
    I want to develop a new RFC for 'Creating Sales Order' with reference to another sales order -
    Is there any BAPI available for the same ? (Version 4.7) - I know its available for new create and change
    but couldn't find for create with reference to Order ...
    Thanks in advance ...
    Regards
    Rajesh.

    Hi,
    You can use this FM "/SAPNEA/SMAPI_ORDER_CREATE". I haven;t tried this but you can still give it a try. Mention the Reference Order Type and other data in the header work area and pass it to the FM.
    Reward if it's useful.
    Thanks,
    Anil

  • Program for Creating Purchase Order with reference to purchase requisition

    Hi ,
    I need to Create purchase Order with reference to  Purchase requisition,
    in my case i need to automize the Process which is happening in MD04,
    Can you please suggest me ?
    Thanks ,
    Murali

    Hi,
    Plz check this link. It will be helpful to you.
    Purchase order creation with reference to PR
    We can also create the PO Using the BAPI_PO_CREATE1 function module.
    In this function module fill up the all necessary Details.
    With details in Item Table we haveto give the Fields PREQ_NO and PREQ_ITEM for each item .
    then it will creates the PO with PREQ.
    Thanks & Regards,
    Sarita Singh Rathour
    Edited by: Sarita Rathour on Aug 3, 2009 7:01 AM

  • A proxy and in that proxy we will call the BAPI for creating Purchase Requi

    HI all,
    I am explaining a situation please resolve if possible.
    I got source data to create purchase requisition .  the source data was not cleaned and requires lot of validations and crossmapping with actual sap tables . I did it for testing and used bapi ( bapi_requsition_create) and was able to test the data to create a pr in sap. but now as per the instructions from my onsite co-ordinator , they told thy will use  a proxy( in place of idoc) and in that we will call bapi to create purchase requisition in sap. please explain about what kind of proxy it may be and how we call bapi in it . thanx in adv..

    HI all,
    I am explaining a situation please resolve if possible.
    I got source data to create purchase requisition .  the source data was not cleaned and requires lot of validations and crossmapping with actual sap tables . I did it for testing and used bapi ( bapi_requsition_create) and was able to test the data to create a pr in sap. but now as per the instructions from my onsite co-ordinator , they told thy will use  a proxy( in place of idoc) and in that we will call bapi to create purchase requisition in sap. please explain about what kind of proxy it may be and how we call bapi in it . thanx in adv..

  • LOGIC FOR CREATING Purchase Order FOR repective Purchase Requisiton URGENT

    hi all,
    guys i have got all the purchase requisition for the materials  from EBAN table.
    now i have to create the PURCHASE ORDER  for these PURCHASE REQUISITIONS.
    so how should i proceed.
    what logic i should use to create the PO for These PR.
    if anyone of u have any code regd this requirement then plz share it with me.
    its very urgent, i have to deliver it by today evening.
    plz help me .
    i will award ur efforts.
    Thanks
    Sanjeev

    hi,
    Automatic Conversion of PR to PO
    You created purchase requisition for various material. During creation of purchase order you used the following path:
    Purchase Requisition
    .......Follow on function 
    .........Create Purchase Order
    ............automatic via purReq. 
    When you mentioned required purchase requisition number and execute, system give error that purchase requisition does not contain any suitable item. 
    Is there any setting in customization where you can monitor and use that function.
    In an effort for you to successfully use the Transaction Code ME59 to automatically convert the current PR into PO, then the following criteria should be met: 
    1) In the Purchasing View of the material master data, the "Autom. PO" field must be clicked; 
    2) In the Purchasing View of the Vendor Master Data, the "Automatic Purchase Order" field must be clicked; 
    3) The Outline Agreement or Purchasing Info Record shall be maintained which will allow the automatic copying of unit price and other conditions into PO; 
    4) The Source List shall be maintained for the nominated vendor which was shown in either the Outline Agreement or Purchasing Info Record. 
    or 
    it might be PR subject to release strategy and not yet released
    or 
    If you're not using a source list or automatic creation of PO, you may need to assign the requisition to a purchase information record using transaction ME56. Then it should appear in ME58. 
    reward points to helpful answers.
    rgds

  • How to use Bapi for creating sales order

    Dear All,
    I am facing problem in creating Sales orders using BAPI.
    Actually I am getting one file as an input and after validating the contents in the file i am preparing an internal table which has 6 fields - Customer number,PO Number,Material Number,Quantity,Price,Unit of measure.
    Now  my doubt is that while using BAPI_SALESORDER_CREATEFROMDAT2 , I am not getting how to pass PO Number and Customer number.
    Please Help.
    Regards,
    Shweta

    Hi shweta upadhyay
    I have gone through you are post i have done some coding for creating sales order using bapi , I think it is helpful for you.
    *& Report  YOBJ_BAPI_SALESORDER
    *& REPORT : CREATING SALES ORDER USING STANDARD BAPI
    *& AUTHOR : S.PAVAN KUMAR INUMARTHY
    REPORT  YOBJ_BAPI_SALESORDER.
    DATA : ORDER_HEADER_IN LIKE STANDARD TABLE OF BAPISDHD1 WITH HEADER LINE.
    DATA : ORDER_ITEMS_IN LIKE STANDARD TABLE OF BAPISDITM WITH HEADER LINE.
    DATA : ORDER_PARTNERS LIKE STANDARD TABLE OF BAPIPARNR WITH HEADER LINE.
    DATA : RETURN TYPE STANDARD TABLE OF BAPIRET2 WITH HEADER LINE.
    DATA : SALESDOCUMENT LIKE BAPIVBELN-VBELN.
    *APPENDING VALUES FOR HEADER.
    ORDER_HEADER_IN-DOC_TYPE = 'TA'.
    ORDER_HEADER_IN-SALES_ORG = '1000'.
    ORDER_HEADER_IN-DISTR_CHAN = '10'.
    ORDER_HEADER_IN-DIVISION = '00'.
    ORDER_HEADER_IN-SALES_GRP = '130'.
    ORDER_HEADER_IN-SALES_OFF = '1030'.
    APPEND ORDER_HEADER_IN.
    *APPENDING VALUES FOR ITEM
    ORDER_ITEMS_IN-MATERIAL = 'M-13'.
    ORDER_ITEMS_IN-PLANT = '1000'.
    ORDER_ITEMS_IN-SALES_UNIT = 'ST'.
    ORDER_ITEMS_IN-DIVISION = '07'.
    ORDER_ITEMS_IN-GROSS_WGHT = '28000'.
    ORDER_ITEMS_IN-NET_WEIGHT = '28000'.
    ORDER_ITEMS_IN-UNTOF_WGHT = 'KG'.
    ORDER_ITEMS_IN-VOLUME = '0.780'.
    ORDER_ITEMS_IN-VOLUNIT = 'M3'.
    APPEND ORDER_ITEMS_IN.
    *APPENDING VALUES FOR PARTNER
    ORDER_PARTNERS-PARTN_ROLE = 'AG'.
    ORDER_PARTNERS-PARTN_NUMB = '0000001000'.
    ORDER_PARTNERS-COUNTRY = 'DE'.
    ORDER_PARTNERS-TRANSPZONE = 'D000080000'.
    APPEND ORDER_PARTNERS.
    CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
      EXPORTING
    *   SALESDOCUMENTIN               =
        ORDER_HEADER_IN               = ORDER_HEADER_IN
    *   ORDER_HEADER_INX              =
    *   SENDER                        =
    *   BINARY_RELATIONSHIPTYPE       =
    *   INT_NUMBER_ASSIGNMENT         =
    *   BEHAVE_WHEN_ERROR             =
    *   LOGIC_SWITCH                  =
    *   TESTRUN                       =
    *   CONVERT                       = ' '
    IMPORTING
       SALESDOCUMENT                  = SALESDOCUMENT
      TABLES
       RETURN                         = RETURN
       ORDER_ITEMS_IN                 = ORDER_ITEMS_IN
    *   ORDER_ITEMS_INX               =
        ORDER_PARTNERS                = ORDER_PARTNERS
    *   ORDER_SCHEDULES_IN            =
    *   ORDER_SCHEDULES_INX           =
    *   ORDER_CONDITIONS_IN           =
    *   ORDER_CONDITIONS_INX          =
    *   ORDER_CFGS_REF                =
    *   ORDER_CFGS_INST               =
    *   ORDER_CFGS_PART_OF            =
    *   ORDER_CFGS_VALUE              =
    *   ORDER_CFGS_BLOB               =
    *   ORDER_CFGS_VK                 =
    *   ORDER_CFGS_REFINST            =
    *   ORDER_CCARD                   =
    *   ORDER_TEXT                    =
    *   ORDER_KEYS                    =
    *   EXTENSIONIN                   =
    *   PARTNERADDRESSES              =
              IF SY-SUBRC = 0.
              CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    *           EXPORTING
    *             WAIT          =
    *           IMPORTING
    *             RETURN        =
               ENDIF.
    WRITE : 'SALES ORDER IS :', SALESDOCUMENT.
    This will be very helpful for you .
    this one is the correct answer I have tried it and I am posting it for you.
    Message was edited by: pavan inumarthy

  • ANy BAPI to create Purchase order

    Hi,gurus,
    Is there any BAPI to create PO.Pl send to me along with the sample code.
    Gratefull answeres will be awarded.
    Regards,
    Venkatesh
    9892 895847

    Hi
    Use the bapi: bapi_po_create1 for creating the purchase order.
    Pass the parameters like below:
    header-comp_code  = p_comp.
      header-doc_type   = p_dtype.
      header-creat_date = sy-datum.
      header-item_intvl = '10'.
      header-vendor     = p_lifnr.
      header-langu      = ws_langu   .
      header-pmnttrms   = p_pmnt.
      header-purch_org  = p_porg.
      header-pur_group  = p_pgroup.
      header-currency   = 'INR'.
      headerx-comp_code  = c_x.
      headerx-doc_type   = c_x.
      headerx-creat_date = c_x.
      headerx-item_intvl = c_x .
      headerx-vendor     = c_x.
      headerx-langu      = c_x.
      headerx-pmnttrms   = c_x   .
      headerx-purch_org  = c_x.
      headerx-pur_group  = c_x.
      LOOP AT it_final2 INTO wa_final2.
        p_int = p_int + 10.
        wa_item-po_item  = p_int.
        CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'
          EXPORTING
            input        = wa_final2-matnr
          IMPORTING
            output       = wa_final2-matnr
          EXCEPTIONS
            length_error = 1
            OTHERS       = 2.
        IF sy-subrc <> 0.
          MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
          WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        ENDIF.
        wa_item-material = wa_final2-matnr.
        wa_item-plant    = p_werks.
        wa_item-quantity = wa_final2-kwmeng.
        wa_item-tax_code = 'V0'.
        APPEND wa_item TO it_item.
        wa_itemx-po_item    = p_int.
        wa_itemx-material   = c_x.
        wa_itemx-plant      = c_x .
        wa_itemx-stge_loc   = c_x .
        wa_itemx-quantity   = c_x .
        wa_itemx-tax_code   = c_x .
        wa_itemx-item_cat   = c_x .
        wa_itemx-acctasscat = c_x .
        wa_itemx-tax_code   = c_x .
        APPEND wa_itemx TO it_itemx.
      ENDLOOP.
      p_pono = ' '.
      CALL FUNCTION 'BAPI_PO_CREATE1'
        EXPORTING
          poheader         = header
          poheaderx        = headerx
        IMPORTING
          exppurchaseorder = p_pono
        TABLES
          return           = return
          poitem           = it_item
          poitemx          = it_itemx.
    For better understanding see the function module documentation of the bapi: bapi_po_create1.
    If it is helpful rewards points
    Regards
    Pratap.M

  • BAPI FOR CREATING SALES ORDER WITH REFFERENCE TO QUOTATION

    Hi All,
    I am creating sales order with refference to quotation by using bapi "BAPI_SALESORDER_CREATEFROMDATA".Able to create sales order but its not refferencing qutation.Is there any other bapi for this scenario.Please guide me.
    Regards,
    Suresh

    Hi ,
    Thank you for giving reply I tried by using bapi BAPI_SALESORDER_CREATEFROMDAT2 after execution it giving sales order number but when I am trying to see that sales order system is giving error message as document is not exist.
    Please guide me.
    Suresh

  • FM or BAPI for creating purchase info records and purchase conditions

    Hi all,
    i need create purchase info records and purchase conditions from txt-file,
    What FM or BAPI i can used for this?
    Thanks and Regards,
    Andrei

    You can use trasaction SXDA_TOOLS.....
    object type BUS3003
    program type BINP
    program/method RM06IBI0
    but the fields must be sequentially written in the txt, with every space inclusive....

  • Bapi for subcontracting purchase order

    Hi,
    is there a BAPI allowing to create a subcontracting purchase order?
    Best regards.

    Hello,
    BAPI_PO_CREATE and BO: BUS2012.
    BAPIEKPOC = ITEM_CAT (3 - Subcontracting)
    Regds, Murugesh AS

Maybe you are looking for

  • CHR(10) function doesn't work in OBIEE

    Hi I wanted to display multiple column values in the same cell in OBIEE. In order to achieve this, I concatenated all the columns into a single column separated by CHR(10). This works fine in SQL, but doesn't work in OBIEE. Columns in the table Addre

  • Documents & Data in the cloud?

    When checking the box for Documents & Data in the cloud, what does this store to the cloud? Whcih files can I synch this way? Thanks.

  • Purchase Order Pricing Procedure

    Can someone send me the path to maintain and enhance the purchase order pricing procedure. Will reward Thanks, Richard

  • I want weblog or tutorial for component usage in abap web dynpro

    Hi team, I want to know how component usage works in abap web dynpro.so can you please help me with providing a tutorial and step by step to use component in it. Thanks, Mainak

  • XMLReader throws NullPointerException

    have developed a CSV to XML parser using a JAXP with SAX Events to parse the CSV file into a DOM tree. Well inside the parse() method I have the following code": public void parse(InputSource input) throws IOException, SAXException BufferedReader br