Skip to Content
0
Former Member
May 28, 2012 at 05:39 AM

uploading data from excel to me22n

371 Views

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