Sales Enhancements Loss Reservations
[ExtensionOf(classStr(PdsShelfLifeMovUpdConfirmDialogFactory ))]
final class rsmPdsShelfLifeMovUpdConfirmDialogFactory_Extension
{
public PdsShelfLifeIMovUpdConfirmDialog createConfirmDialogFromLineAndField(
Common _orderLineBuffer,
FieldId _fieldNumberChanged,
boolean _isContextServerBound)
{
PdsShelfLifeIMovUpdConfirmDialog instance = next createConfirmDialogFromLineAndField(_orderLineBuffer, _fieldNumberChanged, _isContextServerBound);
PdsShelfLifeIMovUpdConfirmDialog createdInstance;
SalesLine salesLine;
boolean hasAutoReservation;
boolean canGeneratePrompt;
switch (_orderLineBuffer.TableId)
{
case tableNum(SalesLine):
salesLine = _orderLineBuffer as SalesLine;
hasAutoReservation = salesLine.Reservation == ItemReservation::Automatic;
if(!this.canGeneratePrompt(_isContextServerBound, _orderLineBuffer))
{
if(salesLine.rsmHasValidBatchReservation())
{
instance.parmIsRecordMarked(true);
}
else
{
instance.parmIsRecordMarked(false);
}
}
break;
}
return instance;
}
}
//rsmSalesLine_Table_Extension
public boolean rsmHasValidBatchReservation()
{
boolean ret;
InventDim inventDim;
InventTrans inventTrans;
InventTransOrigin inventTransOrigin;
WHSOrderCommittedReservation whsOrderCommittedReservation;
WHSOrderCommittedReservationAllView reservationView;
/*select firstonly RecId from reservationView
where reservationView.CommittingOriginInventTransId == this.InventTransId
join inventBatchId from inventDim
where inventDim.inventDimId == reservationView.InventDimId
&& inventDim.inventBatchId != '';
select CommittingOriginInventTransId from whsOrderCommittedReservation
join InventTransId from inventTransOrigin
where inventTransOrigin.INVENTTRANSID == WHSOrderCommittedReservation.CommittingOriginInventTransId
join recId from inventTrans
where inventTrans.inventTransOrigin == inventTransOrigin.recId
join inventbatchId from inventDim
where InventDim.inventDimId == inventTrans.inventDimId
&& whsOrderCommittedReservation.CommittingOriginInventTransId == this.InventTransId;*/
while select inventbatchId from inventDim
join inventTrans
where InventDim.inventDimId == inventTrans.inventDimId
join InventTransOrigin
where inventTrans.inventTransOrigin == InventTransOrigin.recId
&& InventTransOrigin.inventTransId == this.InventTransId
{
if(InventBatch::pdsCheckExpiryDate(inventDim.inventBatchId, this.ItemId, this.ReceiptDateRequested))
{
ret = true;
}
else
{
return false;
}
}
return ret;
}
/// <summary>
/// Updates sales order lines if prompt was confirmed by user and any
/// of the header fields with impact on the
/// order lines have changed.
/// </summary>
/// <returns>
/// A Boolean value indicating whether the update occurred.
/// </returns> rsmSalesTable_Form_Extension
protected boolean updateSalesLinesWithPrompt()
{
boolean ret ;
FormDataSource salesTable_ds = this.dataSource(formDataSourceStr(SalesTable, SalesTable));
SalesTable salesTable = salesTable_ds.cursor();
SalesReceiptDateRequested ReceiptDateRequeste = salesTable.ReceiptDateRequested;
salesTable2LineUpdatePrompt.parmRsmreceiptDateRequested(salesTable.ReceiptDateRequested);
ret = next updateSalesLinesWithPrompt();
return ret;
}
[ExtensionOf(classStr(SalesTable2LineUpdate))]
final class rsmSalesTable2LineUpdate_Extension
{
public SalesReceiptDateRequested receiptDateRequested;
public SalesReceiptDateRequested parmRsmreceiptDateRequestedUpdate(SalesReceiptDateRequested _receiptDateRequested = receiptDateRequested)
{
receiptDateRequested = _receiptDateRequested;
return receiptDateRequested;
}
protected void reReserveShelfInventory(SalesLine _salesLine, AxSalesTable _axSalesTable)
{
_salesLine.ReceiptDateRequested = this.parmRsmreceiptDateRequestedUpdate();
next reReserveShelfInventory(_salesLine, _axSalesTable);
}
protected void initFromSalesTable2LineUpdatePrompt(SalesTable2LineUpdatePrompt _salesTable2LineUpdatePrompt)
{
this.parmRsmreceiptDateRequestedUpdate(_salesTable2LineUpdatePrompt.parmRsmreceiptDateRequested());
next initFromSalesTable2LineUpdatePrompt(_salesTable2LineUpdatePrompt);
}
}
[ExtensionOf(classStr(SalesTable2LineUpdatePrompt))]
final class rsmSalesTable2LineUpdatePrompt_Extension
{
public SalesReceiptDateRequested receiptDateRequested;
public SalesReceiptDateRequested parmRsmreceiptDateRequested(SalesReceiptDateRequested _receiptDateRequested = receiptDateRequested)
{
receiptDateRequested = _receiptDateRequested;
return receiptDateRequested;
}
}
Comments
Post a Comment