cancel
Showing results for 
Search instead for 
Did you mean: 

SAP Customer Checkout BYD: POS

Former Member
0 Kudos

Hi,

I have to update/modify the iStockID for every product in a Sales Transaction. In the ByD Interface it can be modified manually, but its long time..

I found the: PointOfSaleTransaction.RetailTransaction.RetailTransactionSalesItem.InventoryItemChange.IdentifiedStockKey.ID element in the PointOfSaleTransaction Business Object, but the Public Write Access is NO.

My question: Is there any other BO or way, where this element can be modified?

Accepted Solutions (0)

Answers (4)

Answers (4)

HorstSchaude
Product and Topic Expert
Product and Topic Expert

Hello Hunor,

Do you have some ABSL in place which is called during the process?
If yes, you need to find the resp. POS, define a data structure for the InventoryItemChange node and pass this structure in the Create() call.

For an example see the documentation.

Bye,
Horst

Former Member
0 Kudos

Hi Horst,

this is the ABSL code:

import AP.CustomerInvoicing.Global;

var query = PointOfSaleTransaction.QueryByElements;
var params = query.CreateSelectionParams();
params.Add(query.ID.content, "I", "EQ", this.SomeID);
var queryResult = query.Execute(params);

var transaction;
var f;
if(queryResult.Count() > 0) {
	foreach(var saleTransaction in queryResult) {
		transaction = saleTransaction;
		foreach(var saleItem in transaction.RetailTransaction.RetailTransactionSalesItem) {			saleItem.InventoryItemChange.IdentifiedStockKey.ID = 100217;		
		}
	}
}

We got an error "Error2Identifier 'ID' is read-only and cannot be changed" for line

saleItem.InventoryItemChange.IdentifiedStockKey.ID = 100217;	

If you need more detail, please let us know

Thank you,

Hunor

HorstSchaude
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hello Hunor,

As the RetailTransactionSalesItem is already existing you cannot change the IdentifiedStockKey.ID anymore.

Sorry,
Horst

Former Member
0 Kudos

Hi Horst,

we are able to change/assign the iStockID from the SAP BYD interface, take a look at this:

You can find this screen at: Customer Invoicing -> Point-of-Sale Transactions->Sales Transactions

After selecting the transaction, click Edit and on the Detail Screen, select Sale Items tab, and there you can fill the iStockId by clicking on the box as the image shown above.

Please let us know if we can do this from ABSL code

Thank you,

Hunor

HorstSchaude
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hello Hunor,

What is possible via the UI and via PDI is a different kettle of fish.

Sorry,
Horst

Former Member
0 Kudos

Hi Horst.

Thank you for the help. This means that we need to find another solution for this problem :).

Can you suggest any solution to us?

Bye,

Hunor

HorstSchaude
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hello Hunor,

You will definitely need a different apporach.
Unfortunately I am not an expert in PoS. Please search in the SCN for PoS and a contact person (if you don't know one already).

Sorry,
Horst

HorstSchaude
Product and Topic Expert
Product and Topic Expert

Hello Hunor,

Do you create the InventoryItemChange node manually?

In this case you are able to hand over a data structure with your data (incl. the Key).

HTH,
Horst

Former Member
0 Kudos

Hi Horst,

Thanks for your answer.

The Customer uses the "SAP Customer Checkout" Add-On with BYD for the sale. The PointOfSaleTransaction is created automatically and we have to update the ID.

Where can I find the related InventoryItemChange for this transaction?

Thanks,

Hunor

former_member186648
Active Contributor

Hi Hunor,

You would not be able to update alternative key, it can only be created.

Thanks, Pradeep.

Former Member
0 Kudos

Hi Pradeep,

Thanks for your reply.

What type of BO should I create to assign a lot/batch to PointOfSaleTransaction?

In detail:

  • We create invoices in the SAP system with CustomerCheckout Add-On third party
  • Some of the products from the invoice needs to be set the lot/batch(the pallet ID) that come from
  • We are developing a Solution to automatically assign a lot/batch ID(iStockID from PointOfSaleTransaction) for those products that needs lot/batch ID

Note: those invoices that contains products that lot/batch ID has not been assigned are hang-up in the system and currently we are doing manually the assignation

Please let us know a way to be able to determine the lot/batch ID for invoice products

Thanks, Hunor.

HorstSchaude
Product and Topic Expert
Product and Topic Expert

Hello Hunor,

Is there any information via the Repisitory Explorer for this issue like an element description or any action
Did you took a look there?

Bye,
Horst

Former Member
0 Kudos

Hi Horst,

Thank you for the reply. I attached a screenshot about the information of the ID from Repository Explorer and the Definition of the IdentifiedStockKey is:

  • Alternative key used to access an IdentifiedStock. It consists of the IDT IdentifiedStockKey which includes the following elements: ID & MaterialKey