Hi Expert,
As i am trying to upload data from excel to me22n transaction code at item level from excel i am taking field are PONUMBER,ITEM,CC,DELIVERY DATE,QUANTITY.for that and i am using BAPI BAPI_PO_CHANGE .i have written the below code but i have not written the code for bapi please any one
let me know how to write the code for bapi after gui_upload function module.
*&---------------------------------------------------------------------*
*& Report ZR_UPLOAD_PO_REP
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZR_UPLOAD_PO_REP line-size 255.
tables: ekes.
*************** Bapi structure declaration**************
*data: return like bapiret2 occurs 0,
* wa_ret like bapiret2,
data: charactname like bapicharactkey-charactname.
data: poconfirmation TYPE STANDARD TABLE OF bapiekes.
************ Begin of po***************
DATA: i_poitem TYPE STANDARD TABLE OF bapimepoitem,
i_poitemx TYPE STANDARD TABLE OF bapimepoitemx,
i_poitem_sch TYPE STANDARD TABLE OF bapimeposchedule,
i_poitem_schx TYPE STANDARD TABLE OF bapimeposchedulx,
i_acct_ass TYPE STANDARD TABLE OF bapimepoaccount,
i_acct_assx TYPE STANDARD TABLE OF bapimepoaccountx,
i_services TYPE STANDARD TABLE OF bapiesllc ,
i_srvacc TYPE STANDARD TABLE OF bapiesklc,
i_return TYPE STANDARD TABLE OF bapiret2,
wa_header TYPE bapimepoheader,
wa_headerx TYPE bapimepoheaderx,
wa_poitem TYPE bapimepoitem,
wa_poitemx TYPE bapimepoitemx,
wa_poitem_sch TYPE bapimeposchedule,
wa_poitem_schx TYPE bapimeposchedulx,
wa_acct_ass TYPE bapimepoaccount,
wa_acct_assx TYPE bapimepoaccountx,
wa_services TYPE bapiesllc,
wa_srvacc TYPE bapiesklc,
wa_return TYPE bapiret2,
ws_po TYPE bapimepoheader-po_number.
************* end of po***************
type-pools: truxs.
*Types: Begin of ty_final,
* ebeln(10) type c, " po number
* ebelp(2) type c, " item
* ebtyp(2) type c, " conformation category
* eindt(10) type c, " Delivery date
* menge(15) type c, " quantity
* end of ty_final.
*
*
*data: wa_final type ty_final,
* it_final type STANDARD TABLE OF ty_final.
*data: wa_output type ty_final,
* it_output type STANDARD TABLE OF ty_final.
**// itab for placing the csv file data
data: begin of gtab occurs 10,
line(500),
end of gtab.
*data: date like ekes-eindt.
*data: date2 type char8.
*date = ekes-eindt.
*CONCATENATE date+6(2) date+4(2) date+0(4) into date2 SEPARATED BY ', '.
*
types: begin of ty,
cname type bapicharactkey-charactname,
*cval type ATWRT,
*cdesc type ATWTB,
ebeln type ekes-ebeln,
ebelp type ekes-ebelp,
ebtyp type ekes-ebtyp,
* date2 like ekes-eindt,
* erdat(8) type c,
date2(10) type c,
menge(2) type c,
end of ty.
*data: date like ekes-eindt.
*data: date2 type char8.
*
*CONCATENATE date+6(2) date+4(2) date+0(4) into date2.
data: itab type standard table of ty,
wa type ty.
*AT SELECTION-SCREEN on VALUE-REQUEST FOR p_file.
selection-screen begin of block b1 with frame title text-001.
*parameters: p_file type string default 'C:\MM02_class.CSV' obligatory. "File name and file path
* PARAMETERS: p_file TYPE rlgrap-filename LOWER CASE OBLIGATORY.
parameters: p_file type string default 'C:\Documents and Setting\789098\Desktop\me23n.csv' OBLIGATORY.
selection-screen end of block b1.
*AT SELECTION-SCREEN on VALUE-REQUEST FOR p_file.
START-OF-SELECTION.
* PERFORM select_excel_file.
perform get_upload.
*&---------------------------------------------------------------------*
*& Form GET_UPLOAD
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM GET_UPLOAD .
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = p_file
FILETYPE = 'ASC'
TABLES
DATA_TAB = gtab
EXCEPTIONS
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
OTHERS = 17.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Data : lv_date2 type ekes-eindt, "sy-datum.
lv_index type sy-index.
clear :wa,lv_index.
*
*loop at gtab into wa.
*
*lv_index = sy-tabix.
* CONCATENATE wa-date2+6(4) wa-date2+3(2) wa-date2+0(2) INTO lv_date2.
* condense lv_date2 no-gaps.
* wa-date2 = lv_date2.
*
*modify gtab from wa index lv_index. " transporting date2.
*
*endloop.
*clear: wa.
loop at gtab fro
split gtab-line at ',' into wa-ebeln wa-ebelp wa-ebtyp wa-date2 wa-menge.
loop at gtab into wa.
endloop.
*
CALL FUNCTION 'BAPI_PO_CHANGE'
EXPORTING
PURCHASEORDER = wa-ebeln
* POHEADER =
* POHEADERX =
* POADDRVENDOR =
* TESTRUN =
* MEMORY_UNCOMPLETE =
* MEMORY_COMPLETE =
* POEXPIMPHEADER =
* POEXPIMPHEADERX =
* VERSIONS =
* NO_MESSAGING =
* NO_MESSAGE_REQ =
* NO_AUTHORITY =
* NO_PRICE_FROM_PO =
* IMPORTING
* EXPHEADER =
* EXPPOEXPIMPHEADER =
TABLES
* RETURN =
* POITEM =
* POITEMX =
* POADDRDELIVERY =
* POSCHEDULE =
* POSCHEDULEX =
* POACCOUNT =
* POACCOUNTPROFITSEGMENT =
* POACCOUNTX =
* POCONDHEADER =
* POCONDHEADERX =
* POCOND =
* POCONDX =
* POLIMITS =
* POCONTRACTLIMITS =
* POSERVICES =
* POSRVACCESSVALUES =
* POSERVICESTEXT =
* EXTENSIONIN =
* EXTENSIONOUT =
* POEXPIMPITEM =
* POEXPIMPITEMX =
* POTEXTHEADER =
* POTEXTITEM =
* ALLVERSIONS =
* POPARTNER =
* POCOMPONENTS =
* POCOMPONENTSX =
* POSHIPPING =
* POSHIPPINGX =
* POSHIPPINGEXP =
* POHISTORY =
* POHISTORY_TOTALS =
POCONFIRMATION = poconfirmation
.
endloop.
ENDFORM. " GET_UPLOAD
Regards,
Am