Application Development and Automation 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: 
Read only

Regarding bapi ( urgent)

spandana_babu
Participant
0 Likes
1,090

hi

w t is the difference b/w of BAPIMEPOHEADERX,BAPIMEPOHEADER

wr can i use this BAPIMEPOHEADERX,

Regards

Spandana

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,000

Hi,

In BAPIMEPOHEADER structure, the values are passed. In BAPIMEPOHEADERX structure the fields that you have passed in BAPIMEPOHEADER structure are marked as 'X', so that the BAPI will update the corresponding fields alone.

Regards,

DhanaLakshmi M S

6 REPLIES 6
Read only

Former Member
0 Likes
1,000

HI,

You have to use both BAPIMEPOHEADER AND bapimepoheaderx. In BAPIMEPOHEADER you have to pass the values and in BAPIMEPOHEADERX you have to pass the value 'X' to the parameters passed in BAPIMEPOHEADER.

Read only

Former Member
0 Likes
1,001

Hi,

In BAPIMEPOHEADER structure, the values are passed. In BAPIMEPOHEADERX structure the fields that you have passed in BAPIMEPOHEADER structure are marked as 'X', so that the BAPI will update the corresponding fields alone.

Regards,

DhanaLakshmi M S

Read only

0 Likes
1,000

hi

i am new to the bapi's ..

i am developing the upload program for sto's

can any body explain the difference BAPIMEPOHEADERX, BAPIMEPOHEADER.

where u use this BAPIMEPOHEADERX, wt is the purpose...

Regards

Spandana....

hi

thanks for u r replay

is it necessary all fields in BAPIMEPOHEADER

should also pass to BAPIMEPOHEADERX?

are any exceptions?

Reagrds

spandana

Read only

0 Likes
1,000

hi spandana,

check this sample program.

&----


*& Report ZMM_PO_CREATE1 *

*& *

&----


*& *

*& *

&----


REPORT ZMM_PO_CREATE1 .

data : POHEADER like BAPIMEPOHEADER occurs 0 with header line,

POHEADERX like BAPIMEPOHEADERX occurs 0 with header line,

POITEM like BAPIMEPOITEM occurs 0 with header line,

POITEMX like BAPIMEPOITEMX occurs 0 with header line,

POESLLC like BAPIESLLC occurs 0 with header line,

POACCOUNT like BAPIMEPOACCOUNT occurs 0 with header line,

POACCOUNTX like BAPIMEPOACCOUNTX occurs 0 with header line,

POCONDHEADER like BAPIMEPOCONDHEADER occurs 0 with header line,

POCONDHEADERX like BAPIMEPOCONDHEADERX occurs 0 with header line,

POCOND like BAPIMEPOCOND occurs 0 with header line,

RETURN like BAPIRET2 occurs 0 with header line.

data : po_no(10).

data : begin of it_head occurs 0,

ref(10),

bsart like ekko-bsart,

lifnr like ekko-lifnr,

ekorg like ekko-ekorg,

ekgrp like ekko-ekgrp,

bukrs like ekko-bukrs,

verkf like ekko-verkf,

telf1 like ekko-telf1,

ihrez like ekko-ihrez,

unsez like ekko-unsez,

kdatb(10),

kdate(10),

end of it_head.

data : begin of it_det occurs 0,

ref(10),

knttp like ekpo-knttp,

pstyp like ekpo-pstyp,

txz01 like ekpo-txz01,

matkl like ekpo-matkl,

werks like ekpo-werks,

afnam like ekpo-afnam,

ktext1 like esll-ktext1,

srvpos like esll-srvpos,

frmval1 like esll-frmval1,

frmval2 like esll-frmval2,

menge like esll-menge,

kostl like eskn-kostl,

sakto like eskn-sakto,

zzcode like eskn-zzcode,

kbetr like konv-kbetr,

end of it_det.

data : c_col1 TYPE i VALUE '0001',

c_col2 TYPE i VALUE '0002',

c_col3 TYPE i VALUE '0003',

c_col4 TYPE i VALUE '0004',

c_col5 TYPE i VALUE '0005',

c_col6 TYPE i VALUE '0006',

c_col7 TYPE i VALUE '0007',

c_col8 TYPE i VALUE '0008',

c_col9 TYPE i VALUE '0009',

c_col10 TYPE i VALUE '0010',

c_col11 TYPE i VALUE '0011',

c_col12 TYPE i VALUE '0012',

c_col13 TYPE i VALUE '0013',

c_col14 TYPE i VALUE '0014',

c_col15 TYPE i VALUE '0015',

c_col16 TYPE i VALUE '0016'.

data : v_currentrow type i,

v_currentrow1 type i.

data : itab_head like ALSMEX_TABLINE occurs 0 with header line,

itab_det like ALSMEX_TABLINE occurs 0 with header line.

data : file_head type RLGRAP-FILENAME,

file_item type RLGRAP-FILENAME.

file_head = 'C:\Documents and Settings\abap.fi\Desktop\head.xls'.

file_item = 'C:\Documents and Settings\abap.fi\Desktop\item.xls'.

CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'

EXPORTING

filename = file_head

i_begin_col = 1

i_begin_row = 1

i_end_col = 12

i_end_row = 50

tables

intern = itab_head

  • EXCEPTIONS

  • INCONSISTENT_PARAMETERS = 1

  • UPLOAD_OLE = 2

  • OTHERS = 3

.

IF sy-subrc <> 0.

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

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

ENDIF.

CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'

EXPORTING

filename = file_item

i_begin_col = 1

i_begin_row = 1

i_end_col = 16

i_end_row = 50

tables

intern = itab_det

  • EXCEPTIONS

  • INCONSISTENT_PARAMETERS = 1

  • UPLOAD_OLE = 2

  • OTHERS = 3

.

IF sy-subrc <> 0.

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

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

ENDIF.

IF itab_head[] IS INITIAL.

WRITE:/ 'No Header Data Exists '.

STOP.

ELSE.

sort itab_head by row col.

read table itab_head index 1.

v_currentrow = itab_head-row.

loop at itab_head.

if itab_head-row ne v_currentrow.

APPEND it_head.

v_currentrow = itab_head-row.

ENDIF.

CASE itab_head-col.

WHEN c_col1.

it_head-ref = itab_head-value.

WHEN c_col2.

it_head-bsart = itab_head-value.

WHEN c_col3.

it_head-lifnr = itab_head-value.

WHEN c_col4.

it_head-ekorg = itab_head-value.

WHEN c_col5.

it_head-ekgrp = itab_head-value.

WHEN c_col6.

it_head-bukrs = itab_head-value.

WHEN c_col7.

it_head-verkf = itab_head-value.

WHEN c_col8.

it_head-telf1 = itab_head-value.

WHEN c_col9.

it_head-ihrez = itab_head-value.

WHEN c_col10.

it_head-unsez = itab_head-value.

WHEN c_col11.

it_head-kdatb = itab_head-value.

WHEN c_col12.

it_head-kdate = itab_head-value.

ENDCASE.

ENDLOOP.

APPEND it_head.

CLEAR it_head.

ENDIF.

IF itab_det[] IS INITIAL.

WRITE:/ 'No Item Data Exists '.

STOP.

ELSE.

sort itab_det by row col.

read table itab_det index 1.

v_currentrow1 = itab_det-row.

loop at itab_det.

if itab_det-row ne v_currentrow1.

APPEND it_det.

v_currentrow1 = itab_det-row.

ENDIF.

CASE itab_det-col.

WHEN c_col1.

it_det-ref = itab_det-value.

WHEN c_col2.

it_det-knttp = itab_det-value.

WHEN c_col3.

it_det-pstyp = itab_det-value.

WHEN c_col4.

it_det-txz01 = itab_det-value.

WHEN c_col5.

it_det-matkl = itab_det-value.

WHEN c_col6.

it_det-werks = itab_det-value.

WHEN c_col7.

it_det-afnam = itab_det-value.

WHEN c_col8.

it_det-srvpos = itab_det-value.

WHEN c_col9.

it_det-ktext1 = itab_det-value.

WHEN c_col10.

it_det-frmval1 = itab_det-value.

WHEN c_col11.

it_det-frmval2 = itab_det-value.

WHEN c_col12.

it_det-menge = itab_det-value.

WHEN c_col13.

it_det-kostl = itab_det-value.

WHEN c_col14.

it_det-sakto = itab_det-value.

WHEN c_col15.

it_det-zzcode = itab_det-value.

WHEN c_col16.

it_det-kbetr = itab_det-value.

ENDCASE.

ENDLOOP.

APPEND it_det.

CLEAR it_det.

ENDIF.

loop at it_head.

poheader-doc_type = it_head-bsart.

poheader-vendor = it_head-lifnr.

poheader-purch_org = it_head-ekorg.

poheader-pur_group = it_head-ekgrp.

poheader-comp_code = it_head-bukrs.

poheader-sales_pers = it_head-verkf.

poheader-telephone = it_head-telf1.

poheader-REF_1 = it_head-ihrez.

poheader-OUR_REF = it_head-unsez.

poheader-VPER_START = it_head-kdatb.

poheader-VPER_END = it_head-kdate.

loop at it_det where ref = it_head-ref.

poitem-acctasscat = it_det-knttp.

poitem-item_cat = it_det-pstyp.

poitem-short_text = it_det-txz01.

poitem-matl_group = it_det-matkl.

poitem-plant = it_det-werks.

poitem-PREQ_NAME = it_det-afnam.

POESLLC-SERVICE = it_det-srvpos.

POESLLC-SHORT_TEXT = it_det-ktext1.

POESLLC-FORM_VAL1 = it_det-frmval1.

POESLLC-FORM_VAL2 = it_det-frmval2.

POESLLC-QUANTITY = it_det-menge.

POACCOUNT-COSTCENTER = it_det-kostl.

POACCOUNT-GL_ACCOUNT = it_det-sakto.

POCONDHEADER-COND_TYPE = 'R000'.

POCONDHEADER-COND_VALUE = it_det-kbetr.

endloop.

endloop.

poheaderx-doc_type = 'X'.

poheaderx-vendor = 'X'.

poheaderx-purch_org = 'X'.

poheaderx-pur_group = 'X'.

poheaderx-comp_code = 'X'.

poheaderx-sales_pers = 'X'.

poheaderx-telephone = 'X'.

poheaderx-REF_1 = 'X'.

poheaderx-OUR_REF = 'X'.

poheaderx-VPER_START = 'X'.

poheaderx-VPER_END = 'X'.

poitemx-acctasscat = 'X'.

poitemx-item_cat = 'X'.

poitemx-short_text = 'X'.

poitemx-matl_group = 'X'.

poitemx-plant = 'X'.

poitemx-PREQ_NAME = 'X'.

*POESLLCx-SHORT_TEXT = 'X'.

POACCOUNTx-COSTCENTER = 'X'.

POACCOUNTx-GL_ACCOUNT = 'X'.

POCONDHEADER-cond_type = 'X'.

CALL FUNCTION 'BAPI_PO_CREATE1'

EXPORTING

poheader = poheader

POHEADERX = poheaderx

  • POADDRVENDOR =

  • TESTRUN =

  • MEMORY_UNCOMPLETE =

  • MEMORY_COMPLETE =

  • POEXPIMPHEADER =

  • POEXPIMPHEADERX =

  • VERSIONS =

  • NO_MESSAGING =

  • NO_MESSAGE_REQ =

  • NO_AUTHORITY =

  • NO_PRICE_FROM_PO =

IMPORTING

EXPPURCHASEORDER = po_no

  • EXPHEADER =

  • EXPPOEXPIMPHEADER =

TABLES

RETURN = return

POITEM = poitem

POITEMX = poitemx

  • POADDRDELIVERY =

  • POSCHEDULE =

  • POSCHEDULEX =

POACCOUNT = poaccount

  • POACCOUNTPROFITSEGMENT =

POACCOUNTX = poaccountx

POCONDHEADER = pocondheader

POCONDHEADERX = pocondheaderx

  • POCOND =

  • POCONDX =

  • POLIMITS =

  • POCONTRACTLIMITS =

POSERVICES = poesllc

  • POSRVACCESSVALUES =

  • POSERVICESTEXT =

  • EXTENSIONIN =

  • EXTENSIONOUT =

  • POEXPIMPITEM =

  • POEXPIMPITEMX =

  • POTEXTHEADER =

  • POTEXTITEM =

  • ALLVERSIONS =

  • POPARTNER =

.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

  • EXPORTING

  • WAIT =

  • IMPORTING

  • RETURN =

.

if sy-subrc = 0.

loop at return.

write return-MESSAGE_V1.

write po_no.

endloop.

endif.

reward points if hlpful.

Read only

0 Likes
1,000

Hi,

Yes it is necessary to pass the data in BAPIMEPOHEADERX else the data that is passed will not get updated .

BAPIMEPOHEADERX is actually a flag table which indicates updation.

hope its clear.

Regards,

Bhanu.

Edited by: nanduri bhanu on Jun 18, 2008 1:56 PM

Read only

Former Member
0 Likes
1,000

HI,

Both of them are structures... Check out the below one for usage ...

http://www.sap-img.com/abap/sample-abap-code-on-bapi-po-change.htm

Regards,

Santosh