Changing requisition limits using BAPI
Hi Experts,
I want to change the valuation price in a purchase req using BAPI_PR_CHANGE .
the line has account assignment category 'K' (no material) .
i tried inserting the price using field : preq_price in PRITEM table , but it won't let me . (i used it for a regular req. - with material and it worked fine).
i know that in order to change the price in the ME52N screen ,we need to use the field : overall limits , in limits tab.
how do i change the price with the BAPI ? (or is there another bapi i can use ? )
thanks, Nirit .
Did you use BAPI_TRANSACTION_COMMIT after BAPI_PO_CHANGE.
Look also at this <a href="http://www.sap-img.com/abap/sample-abap-code-on-bapi-po-change.htm">Sample Abap code on BAPI_PO_CHANGE</a>
CALL FUNCTION 'BAPI_PO_CHANGE'
EXPORTING
PURCHASEORDER = T_POHEADER-PO
POHEADER = T_BAPI_POHEADER
POHEADERX = T_BAPI_POHEADERX
TABLES
RETURN = T_BAPIRETURN
POITEM = T_BAPI_POITEM
POITEMX = T_BAPI_POITEMX.
READ TABLE t_bapireturn WITH KEY type = c_err TRANSPORTING NO FIELDS.
IF sy-subrc NE 0.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = c_x.
ENDIF.
Regards
Similar Messages
-
Change vendor address using bapi
Hi all,
How to change vendor address using bapi.
The address,and vendornumber coming from XL file.
Based on the vendor number I want to change the address.
Please give me the example.
regards,
rakesh.Hi Vijay,
Please help me in the following.
As Vendor/Customer Master dont have all the address fields ( like Street4-5), we use FM BAPI_ADDRESSORG_SAVEREPLICA to overcome this problem.
In my case i have created one Custom load program to upload address data using
BAPI_ADDRESSORG_SAVEREPLICA and then LSMW project to upload rest of the data.
In this case when i upload rest of the data by LSMW using BI standard program ( having NODATA indicator "/" in my source file for the fields already uploaded using BAPI above) , address data which uploaded through FM should get populate automatically (by concept of Central Address management) but in my case <b>for some of the Account Group it is not getting populated,</b> please suggest.
regards
Sonal -
Please provide me how change the Materil using BAPI...?
Hi Guru's,
could please provide me how change the Materil using BAPI...
please provide the BPAI name and step by step process...
if ou provide any program logic that would be helpfull to me...
thanks in advance
Srinivas....Hi,
THis is code .
*& Report Zs_MATMAS_BAPI
*& This program demonstrates how easy it is to create Material master
*& data using BAPI_MATERIAL_SAVEDATA
*& The program also generates a report post-execution displaying errors
*& as well as successful uploads
REPORT Zs_MATMAS_BAPI.
TABLES
FLAGS *
DATA: F_STOP. " Flag used to stop processing
DATA DECLARATIONS *
DATA : V_EMPTY TYPE I, " No. of empty records
V_TOTAL TYPE I. " Total no. of records.
STRUCTURES & INTERNAL TABLES
*BAPI structures
DATA: BAPI_HEAD LIKE BAPIMATHEAD, " Header Segment with Control Information
BAPI_MAKT LIKE BAPI_MAKT, " Material Description
BAPI_MARA1 LIKE BAPI_MARA, " Client Data
BAPI_MARAX LIKE BAPI_MARAX, " Checkbox Structure for BAPI_MARA
BAPI_MARC1 LIKE BAPI_MARC, " Plant View
BAPI_MARCX LIKE BAPI_MARCX, " Checkbox Structure for BAPI_MARC
BAPI_MBEW1 LIKE BAPI_MBEW, " Accounting View
BAPI_MBEWX LIKE BAPI_MBEWX, " Checkbox Structure for BAPI_MBEW
BAPI_RETURN LIKE BAPIRET2. " Return Parameter
*--- Internal table to hold excel file data
DATA: IT_INTERN TYPE ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE.
*--- Internal table to hold Matetrial descriptions
DATA: BEGIN OF IT_MAKT OCCURS 100.
INCLUDE STRUCTURE BAPI_MAKT.
DATA: END OF IT_MAKT.
*--- Internal to hold the records in the text file
DATA : BEGIN OF IT_DATA OCCURS 100,
WERKS(4), " Plant
MTART(4), " Material type
MATNR(18), " Material number
MATKL(9) , " Material group
MBRSH(1), " Industry sector
MEINS(3), " Base unit of measure
GEWEI(3), " Weight Unit
SPART(2), " Division
EKGRP(3), " Purchasing group
VPRSV(1), " Price control indicator
STPRS(12), " Standard price
PEINH(3), " Price unit
SPRAS(2), " Language key
MAKTX(40), " Material description
END OF IT_DATA.
SELECTION SCREEN. *
SELECTION-SCREEN BEGIN OF BLOCK SCR1 WITH FRAME TITLE TEXT-111.
PARAMETER : P_FILE TYPE RLGRAP-FILENAME OBLIGATORY DEFAULT " Input File
'C:\Material_master.XLS'.
PARAMETER : P_MAX(4) OBLIGATORY DEFAULT '100'. " no.of recs in a session
PARAMETERS: P_HEADER TYPE I DEFAULT 0. " Header Lines
PARAMETERS: P_BEGCOL TYPE I DEFAULT 1 NO-DISPLAY,
P_BEGROW TYPE I DEFAULT 1 NO-DISPLAY,
P_ENDCOL TYPE I DEFAULT 100 NO-DISPLAY,
P_ENDROW TYPE I DEFAULT 32000 NO-DISPLAY.
SELECTION-SCREEN END OF BLOCK SCR1.
AT SELECTION-SCREEN *
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
*--- Validating file
PERFORM VALIDATE_FILE USING P_FILE.
START-OF-SELECTION
START-OF-SELECTION.
*--- Perform to convert the Excel data into an internal table
PERFORM CONVERT_XLS_ITAB.
IF NOT IT_DATA[] IS INITIAL.
*--- Perform to delete Header lines
PERFORM DELETE_HEADER_EMPTY_RECS.
ENDIF.
END OF SELECTION. *
END-OF-SELECTION.
*--- Perform to upload Material Master data
PERFORM UPLOAD_MATMAS.
Form : validate_input_file
Description : To provide F4 help for file if read from PC
FORM VALIDATE_FILE USING F_FILE TYPE RLGRAP-FILENAME.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
CHANGING
FILE_NAME = F_FILE
EXCEPTIONS
MASK_TOO_LONG = 1
OTHERS = 2.
IF SY-SUBRC 0.
MESSAGE S010(ZLKPL_MSGCLASS). " 'Error in getting filename'.
ENDIF.
ENDFORM. " validate_input_file
*& Form CONVER_XLS_ITAB
text
FORM CONVERT_XLS_ITAB.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
FILENAME = P_FILE
I_BEGIN_COL = P_BEGCOL
I_BEGIN_ROW = P_BEGROW
I_END_COL = P_ENDCOL
I_END_ROW = P_ENDROW
TABLES
INTERN = IT_INTERN.
IF SY-SUBRC 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*--- Perform to move the data into an internal data
PERFORM MOVE_DATA.
ENDFORM. " CONVERT_XLS_ITAB
*& Form MOVE_DATA
text
FORM MOVE_DATA.
DATA : LV_INDEX TYPE I.
FIELD-SYMBOLS <FS>.
*--- Sorting the internal table
SORT IT_INTERN BY ROW COL.
CLEAR IT_INTERN.
LOOP AT IT_INTERN.
MOVE IT_INTERN-COL TO LV_INDEX.
*--- Assigning the each record to an internal table row
ASSIGN COMPONENT LV_INDEX OF STRUCTURE IT_DATA TO <FS>.
*--- Asigning the field value to a field symbol
MOVE IT_INTERN-VALUE TO <FS>.
AT END OF ROW.
APPEND IT_DATA.
CLEAR IT_DATA.
ENDAT.
ENDLOOP.
ENDFORM. " MOVE_DATA
*& Form DELETE_HEADER_EMPTY_RECS
To delete the Header and empty records
FORM DELETE_HEADER_EMPTY_RECS.
DATA: LV_TABIX LIKE SY-TABIX.
IF NOT P_HEADER IS INITIAL.
LOOP AT IT_DATA.
IF P_HEADER > 0 AND NOT IT_DATA IS INITIAL.
DELETE IT_DATA FROM 1 TO P_HEADER.
P_HEADER = 0.
EXIT.
ENDIF.
ENDLOOP.
ENDIF.
CLEAR IT_DATA.
*--- To delete the empty lines from internal table
LOOP AT IT_DATA.
LV_TABIX = SY-TABIX.
IF IT_DATA IS INITIAL.
V_EMPTY = V_EMPTY + 1.
DELETE IT_DATA INDEX LV_TABIX..
ENDIF.
ENDLOOP.
CLEAR IT_DATA.
*--- Total no of recs in file
DESCRIBE TABLE IT_DATA LINES V_TOTAL.
IF V_TOTAL = 0.
MESSAGE I013(ZLKPL_MSGCLASS). " No records in the file
F_STOP = 'X'.
STOP.
ENDIF.
ENDFORM. " DELETE_HEADER_EMPTY_RECS
*& Form UPLOAD_MATMAS
to upload Material Master data
FORM UPLOAD_MATMAS .
LOOP AT IT_DATA.
Header
UNPACK IT_DATA-MATNR TO IT_DATA-MATNR.
BAPI_HEAD-MATERIAL = IT_DATA-MATNR.
BAPI_HEAD-IND_SECTOR = IT_DATA-MBRSH.
BAPI_HEAD-MATL_TYPE = IT_DATA-MTART.
BAPI_HEAD-BASIC_VIEW = 'X'.
BAPI_HEAD-PURCHASE_VIEW = 'X'.
BAPI_HEAD-ACCOUNT_VIEW = 'X'.
Material Description
REFRESH IT_MAKT.
IT_MAKT-LANGU = IT_DATA-SPRAS.
IT_MAKT-MATL_DESC = IT_DATA-MAKTX.
APPEND IT_MAKT.
Client Data - Basic
BAPI_MARA1-MATL_GROUP = IT_DATA-MATKL.
BAPI_MARA1-BASE_UOM = IT_DATA-MEINS.
BAPI_MARA1-UNIT_OF_WT = IT_DATA-GEWEI.
BAPI_MARA1-DIVISION = IT_DATA-SPART.
BAPI_MARAX-MATL_GROUP = 'X'.
BAPI_MARAX-BASE_UOM = 'X'.
BAPI_MARAX-UNIT_OF_WT = 'X'.
BAPI_MARAX-DIVISION = 'X'.
Plant - Purchasing
BAPI_MARC1-PLANT = IT_DATA-WERKS.
BAPI_MARC1-PUR_GROUP = IT_DATA-EKGRP.
BAPI_MARCX-PLANT = IT_DATA-WERKS.
BAPI_MARCX-PUR_GROUP = 'X'.
Accounting
BAPI_MBEW1-VAL_AREA = IT_DATA-WERKS.
BAPI_MBEW1-PRICE_CTRL = IT_DATA-VPRSV.
BAPI_MBEW1-STD_PRICE = IT_DATA-STPRS.
BAPI_MBEW1-PRICE_UNIT = IT_DATA-PEINH.
BAPI_MBEWX-VAL_AREA = IT_DATA-WERKS.
BAPI_MBEWX-PRICE_CTRL = 'X'.
BAPI_MBEWX-STD_PRICE = 'X'.
BAPI_MBEWX-PRICE_UNIT = 'X'.
*--- BAPI to create material
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
EXPORTING
HEADDATA = BAPI_HEAD
CLIENTDATA = BAPI_MARA1
CLIENTDATAX = BAPI_MARAX
PLANTDATA = BAPI_MARC1
PLANTDATAX = BAPI_MARCX
FORECASTPARAMETERS =
FORECASTPARAMETERSX =
PLANNINGDATA =
PLANNINGDATAX =
STORAGELOCATIONDATA =
STORAGELOCATIONDATAX =
VALUATIONDATA = BAPI_MBEW1
VALUATIONDATAX = BAPI_MBEWX
WAREHOUSENUMBERDATA =
WAREHOUSENUMBERDATAX =
SALESDATA = BAPI_MVKE1
SALESDATAX = BAPI_MVKEX
STORAGETYPEDATA =
STORAGETYPEDATAX =
IMPORTING
RETURN = BAPI_RETURN
TABLES
MATERIALDESCRIPTION = IT_MAKT
UNITSOFMEASURE =
UNITSOFMEASUREX =
INTERNATIONALARTNOS =
MATERIALLONGTEXT =
TAXCLASSIFICATIONS =
RETURNMESSAGES =
PRTDATA =
PRTDATAX =
EXTENSIONIN =
EXTENSIONINX =
IF BAPI_RETURN-TYPE = 'E'.
WRITE:/ 'Error:' ,BAPI_RETURN-MESSAGE ,'for material:' ,IT_DATA-MATNR.
ELSEIF BAPI_RETURN-TYPE = 'S'.
WRITE: 'Successfully created material' ,IT_DATA-MATNR.
ENDIF.
ENDLOOP.
ENDFORM. " UPLOAD_MATMAS
Thanks
Sarada -
Changing Payment terms using Bapi
Hi Gurus,
I want to change the Payment terms in Purchase order / Scheduling agreement Using Bapi.
I used BAPI_PO_CHANGE.but Payment terms are not updating.
Useful Answers will be rewarded with Points.Did you use BAPI_TRANSACTION_COMMIT after BAPI_PO_CHANGE.
Look also at this <a href="http://www.sap-img.com/abap/sample-abap-code-on-bapi-po-change.htm">Sample Abap code on BAPI_PO_CHANGE</a>
CALL FUNCTION 'BAPI_PO_CHANGE'
EXPORTING
PURCHASEORDER = T_POHEADER-PO
POHEADER = T_BAPI_POHEADER
POHEADERX = T_BAPI_POHEADERX
TABLES
RETURN = T_BAPIRETURN
POITEM = T_BAPI_POITEM
POITEMX = T_BAPI_POITEMX.
READ TABLE t_bapireturn WITH KEY type = c_err TRANSPORTING NO FIELDS.
IF sy-subrc NE 0.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = c_x.
ENDIF.
Regards -
How can forbid changing data when using BAPI 'BAPI_MATERIAL_SAVEREPLICA'?
I am using BAPI 'BAPI_MATERIAL_SAVEREPLICA' to creat material master data in batch.
But this BAPI also can be used for change mode.
How to forbid the change of MAT data when use this BAPI?
TKS a lot~~
I am looking foward to your response~~~you have to find out what the user did before your program goes ahead and starts the BAPI.
-
How can forbid changging data when using BAPI 'BAPI_MATERIAL_SAVEREPLICA'?
I am using BAPI 'BAPI_MATERIAL_SAVEREPLICA' to creat material master data in batch.
But this BAPI also can be used for change mode.
How to forbid the change of MAT data when use this BAPI?
TKS a lot~~
I am looking foward to your response~~~
Edited by: lorryhappy on Dec 22, 2009 11:35 AMHi
You can achieve it in another way..
Before Passing Data to BAPI , Check whether the material is existing or not..
If material is existing (Present in Material Master Tables e.g. MARA ) using
data: l_matnr like mara-matnr.
Select single matnr from mara into l_matnr.
IF sy-subrc EQ 0.
" Material is existing ==> Do Not Pass to BAPI
else.
" Material is NOT existing ==> Pass to BAPI for creation.
endif.
Repeat above logic for every material in batch..
Hope it will solve your problem..
Thanks & Regards
ilesh 24x7
ilesh Nandaniya -
Create / Change Sales Order using BAPI - Populating Enhanced Fields
Hi,
I am using BAPI: BAPI_SALESORDER_CHANGE to change the Sales Order and want to update the Enhanced Screen Field (Screen Exit Fields) in the Sales Order. Where to populate these enhanced screen fields in the BAPI Structure?
Appreciate Your Help!.
Thanks,
KannanHi,
MV45AFZZ BAPI_SALESORDER_CHANGE
Regards,
Padmam. -
Changing Net Price using bapi 'BAPI_PO_CREATE1'
Hi All,
I have a requirement to create the PO using BAPI .In this , the Net Price value is automatically updated from Info record.
Can any one pls suggest the procedure how to update this Net Price through a flat file , and not through the info record.
Thanks in advance...
Regards,
Sivani.HI,
Try to set the IMPORT paramter NO_PRICE_FROM_PO = 'X'.
also if u want the data from the flat file collect the data from flat file to internal table.
loop through that internal table
call BAPI.
endloop.
Hope this solves ur problem
Thanks ,
Ruchi -
Change schedule lines using bapi salesorder_change
Hello,
I am using 'SD_SALESDOCUMENT_CHANGE' to change sales order. schedule lines are not changed.
I get an express inbox message saying :
===================================================================
Update was terminated
Error Info... 00 671: ABAP/4 processor: SAPSQL_ARRAY_INSERT_DUPREC
======================================================================
I don't know what to do.
any body solved this problem? what is wrong in the way I wrote it?
Thanks in advanced ,
Sara
I populate schedule lines this way:
lv_schedule-itm_number = svbap-posnr.
lv_schedule-sched_line = '0001'.
lv_schedule-req_qty = svbap-kwmeng.
lv_schedule-req_date = im_vbak-vdatu.
move im_vbak-vdatu to: lv_schedule-tp_date,
lv_schedule-ms_date,
lv_schedule-load_date,
lv_schedule-gi_date.
append lv_schedule to et_schedule.
* schedule lines X
lv_schedulex-itm_number = svbap-posnr.
lv_schedulex-sched_line = '0001'.
lv_schedulex-updateflag = 'U'.
lv_schedulex-req_qty = 'X'.
lv_schedulex-req_date = 'X'.
move 'X' to: lv_schedulex-tp_date,
lv_schedulex-ms_date,
lv_schedulex-load_date,
lv_schedulex-gi_date.
append lv_schedulex to et_schedulex.Hi,
The function I use is the one used in the BAPI CHANGE.
Online changing the delivery date changes the date in the schedule lines.
I can't understand why it is not updated.
Sara -
Changing unloading point using BAPI
Hello Gurus,
Can we change unloading point(item level) in the sales order using BAPI_SALESORDER_CHANGE. If so please let me know how to do it.
Thanks,
KBDid you use BAPI_TRANSACTION_COMMIT after BAPI_PO_CHANGE.
Look also at this <a href="http://www.sap-img.com/abap/sample-abap-code-on-bapi-po-change.htm">Sample Abap code on BAPI_PO_CHANGE</a>
CALL FUNCTION 'BAPI_PO_CHANGE'
EXPORTING
PURCHASEORDER = T_POHEADER-PO
POHEADER = T_BAPI_POHEADER
POHEADERX = T_BAPI_POHEADERX
TABLES
RETURN = T_BAPIRETURN
POITEM = T_BAPI_POITEM
POITEMX = T_BAPI_POITEMX.
READ TABLE t_bapireturn WITH KEY type = c_err TRANSPORTING NO FIELDS.
IF sy-subrc NE 0.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = c_x.
ENDIF.
Regards -
Problem in Changing Vehicle data Using BAPI "BAPI_VEHICLE_CHANGE_MULTIPLE"
I am using BAPI_VEHICLE_CHANGE_MULTIPLE to change the vehicle data but every time i am getting the message in return table " " . If any one has some exp. with this function module then please help me in this.
Thanks in advance.
GauravOk in the first post i cant see the error that the return table gave you.. what does the return table say and during which action do you get this error? In SE37 if you display the BAPI there is documentation on the BAPI itself. But send me more detail maby i can help.
Kind regards -
Changing Material Type using BAPI
Hi All,
I am trying to change a material. I able to change many fields of the material except 'Material Type' using BAPI_MATERIAL_SAVEDATA.
Did any one used BAPI_MATERIAL_SAVEDATA or any other BAPIs to change the material type of a material? I do not want to develop BDC for the same as of now.
Thanks in advance.
Regards,
RamaDid you use BAPI_TRANSACTION_COMMIT after BAPI_PO_CHANGE.
Look also at this <a href="http://www.sap-img.com/abap/sample-abap-code-on-bapi-po-change.htm">Sample Abap code on BAPI_PO_CHANGE</a>
CALL FUNCTION 'BAPI_PO_CHANGE'
EXPORTING
PURCHASEORDER = T_POHEADER-PO
POHEADER = T_BAPI_POHEADER
POHEADERX = T_BAPI_POHEADERX
TABLES
RETURN = T_BAPIRETURN
POITEM = T_BAPI_POITEM
POITEMX = T_BAPI_POITEMX.
READ TABLE t_bapireturn WITH KEY type = c_err TRANSPORTING NO FIELDS.
IF sy-subrc NE 0.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = c_x.
ENDIF.
Regards -
How to change thecontract account using bapi can anybody provide the code
How to change the contract account using BAPI_CTRACCONTRACTACCOUNT_CH1.
pls reply.
i will reward points .Hi Archana,
The best way would be to read the BAPI documentation and check if they provided an example. If there is no example, test the BAPI in SE37 using your test data. Also, do not forget to call the 'BAPI_TRANSACTION_COMMIT' after the BAPI call (using test sequence in SE37).
Regards,
Shyam -
HU change on delivery using BAPI
Hi,
I am trying to change Outbound Delivery with the packing details by providing HU details(external number assignement).
BAPI "BAPI_OUT_DELIVERY_CHANGE" could not do the change for the HUs. BAPI "BAPI_OUTB_DELIVERY_CONFIRM_DEC" is not right, as it delete and recreate HUs. We do not want that HUs are deleted!
Is there any BAPI to do changes on Outbound delivery (also HUs) - changes of item quantity, HUs quantity, delete HUs from delivery or add HUs to delivery?
Could you provide some help in this regard.
Thanks MatjazHi Anand,
In the BAPI 'BAPI_OUTB_DELIVERY_CHANGE', import parameter HEADER_DATA ( Associated type is BAPIOBDLVHDRCHG ), there is a field called DLV_BLOCK.
You can get the possible values for this field in table 'TVLS'.
Please find the example possible values.
01 Credit limit
02 Political reasons
03 Bottleneck material
04 Export papers missng
05 Check free of ch.dlv
06 No printing
07 Change in quantity
08 Kanban Delivery
09 JIT delivery (PDS)
Regards,
Vijay -
When trying to change a Sales order using BAPI_SALESORDER_CHANGE, I am getting the following error.
SD document 15704 is not in the database or has been archived.
Please let me know what could be the problemyou have the error message, which is self explanatory.
SD document 15704 is not in the database or has been archived.
if you knat that the sales document indeed exists, and the message is deceiving, then check why are yopu gettign that. maybe you didn;t provide the order# will leading zeros, or you are tryingto change an order immediately after creating, in which case DB commit might not be completed.
Maybe you are looking for
-
ITunes won't recongise my iphone anymore and freezes when I connect it.
All of the sudden it just stopped working, freezing everytime I connect iphone to the computer. I reinstalled iTunes, did a reset on my iphone, none of this helped. Now I just can't use the phone anymore. Any ideas? Recently installed Java 6 both for
-
How to embed an Applet in a win32 application ?
Hi, I want to write a win32 application and embed in it applet, just like IE or Netscape ... does anyone know how to do that ? could-you also cc code sample here: [email protected] thanks...
-
Sent emails not stored in Sent Mailbox
My outgoing emails are apparently being sent (I hear the swoosh, and spot checks with the recipients confirm the delivery,) but the outgoing emails are no longer copied into my Sent Mailbox. Any ideas, please? Thanks, Ricardo
-
SM37 spool output not matched with the mail received
Hi All I have a background job which run on daily basis. After the job is finished successfully the spool is sent to client in the form of the html page. The mail received by client and the actual spool in R3 are not matching. Some of the text is mis
-
Discover Miles Denied & Others
Last statement cut my FICO showed up at 760 with Discover, been having their It card for about four years now, good payment history, ran about $10k on it so far and mostly always paid in full. Now that they have a miles rewards program I thought my s