Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

BAPI sample code with flat file.

0 Kudos

Hi everyone,

I need BAPI sample code to upload data using a flat file which has header and

item format..

Its very urgent,

thanks in advance,

regards

stanley

5 REPLIES 5

anversha_s
Active Contributor
0 Kudos

hi,

1.use the FM GUI_DOWNLOAD twice

2. first for downloading the heading

3. then for the data.

rgds

Anversha

0 Kudos

Should i have to maintain seperate flat file for header and item datas?

0 Kudos

No, there is no need to maintain separate files. You can read the data from the file accordingly.

Which BAPI, do you want to use?

Former Member
0 Kudos

See the simple example :

REPORT ZBAPI.

DATA: BEGIN OF i_data OCCURS 0,

text(255),

END OF i_data.

DATA: i_ekko TYPE bapiekkoc.

DATA: it_ekko LIKE TABLE OF i_ekko INITIAL SIZE 0 WITH HEADER LINE.

DATA: BEGIN OF i_ekpo OCCURS 0,

po_item(5),

pur_mat(18),

plant(4),

net_price(23),

disp_quan(13),

END OF i_ekpo.

DATA: it_ekpo LIKE TABLE OF bapiekpoc INITIAL SIZE 0 WITH HEADER LINE .

DATA: BEGIN OF i_eket OCCURS 0,

po_item(5),

deliv_date(8),

quantity(13),

END OF i_eket.

DATA: it_eket LIKE TABLE OF bapieket INITIAL SIZE 0 WITH HEADER LINE.

DATA: v_index TYPE i.

DATA: return TYPE TABLE OF bapireturn INITIAL SIZE 0 WITH HEADER LINE.

DATA: po_num(10).

START-OF-SELECTION.

CALL FUNCTION 'UPLOAD'

  • EXPORTING

  • CODEPAGE = ' '

  • FILENAME = ' '

  • FILETYPE = ' '

  • ITEM = ' '

  • FILEMASK_MASK = ' '

  • FILEMASK_TEXT = ' '

  • FILETYPE_NO_CHANGE = ' '

  • FILEMASK_ALL = ' '

  • FILETYPE_NO_SHOW = ' '

  • LINE_EXIT = ' '

  • USER_FORM = ' '

  • USER_PROG = ' '

  • SILENT = 'S'

  • IMPORTING

  • FILESIZE =

  • CANCEL =

  • ACT_FILENAME =

  • ACT_FILETYPE =

TABLES

data_tab = i_data

  • EXCEPTIONS

  • CONVERSION_ERROR = 1

  • INVALID_TABLE_WIDTH = 2

  • INVALID_TYPE = 3

  • NO_BATCH = 4

  • UNKNOWN_ERROR = 5

  • GUI_REFUSE_FILETRANSFER = 6

  • OTHERS = 7

.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

loop at i_data.

if i_data-text(1) = 'H'.

shift i_data-text.

v_index = v_index + 1.

split i_data-text at ',' into i_ekko-doc_type

i_ekko-purch_org

i_ekko-pur_group

i_ekko-vendor.

append i_ekko to it_ekko.

elseif i_data-text(1) = 'I'.

shift i_data-text.

split i_data-text at ',' into i_ekpo-po_item

i_ekpo-pur_mat

i_ekpo-plant

i_ekpo-net_price

i_ekpo-disp_quan.

append i_ekpo.

move-corresponding i_ekpo to it_ekpo.

append it_ekpo.

clear it_ekpo.

else.

shift i_data-text.

split i_data-text at ',' into i_eket-po_item

i_eket-deliv_date

i_eket-quantity.

append it_eket .

move-corresponding i_eket to it_eket.

append it_eket.

clear it_eket.

endif.

endloop.

CALL FUNCTION 'BAPI_PO_CREATE'

EXPORTING

po_header = i_ekko

  • PO_HEADER_ADD_DATA =

  • HEADER_ADD_DATA_RELEVANT =

  • PO_ADDRESS =

  • SKIP_ITEMS_WITH_ERROR = 'X'

  • ITEM_ADD_DATA_RELEVANT =

  • HEADER_TECH_FIELDS =

  • IMPORTING

  • PURCHASEORDER =

tables

po_items = it_ekpo

  • PO_ITEM_ADD_DATA =

po_item_schedules = it_eket

  • PO_ITEM_ACCOUNT_ASSIGNMENT =

  • PO_ITEM_TEXT =

RETURN = return

  • PO_LIMITS =

  • PO_CONTRACT_LIMITS =

  • PO_SERVICES =

  • PO_SRV_ACCASS_VALUES =

  • PO_SERVICES_TEXT =

  • PO_BUSINESS_PARTNER =

  • EXTENSIONIN =

  • POADDRDELIVERY =

.

write: po_num.

loop at return.

write:/ return-message,return-type.

endloop.

Former Member
0 Kudos

hi,

REPORT ZBAPI_SALES.

DATA: order_header_in type bapisdhd1.

DATA: order_partners type table of BAPIPARNR.

data: return type table of BAPIRET2.

data: errmsg type BAPIRET2.

PARAMETER: p_vbeln LIKE vbrk-vbeln OBLIGATORY,

p_kunnr LIKE kuagv-kunnr OBLIGATORY.

START-OF-SELECTION.

order_header_in-doc_type = 'OR'.

order_header_in-sales_org = '1000'.

order_header_in-distr_chan = '30'.

order_header_in-division = '00'.

order_header_in-ref_doc = p_vbeln.

ORDER_HEADER_IN-REFDOCTYPE = 'ZQSR'.

ORDER_HEADER_IN-SD_DOC_CAT = 'C'.

CLEAR order_partners.

order_partners-partn_numb = p_kunnr.

order_partners-partn_role = 'SP'.

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 = sd_vbeln

TABLES

RETURN = return

  • 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 =

.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.