To implement this hotfix, you must have a developer license.
You do not have to have rights to the data stores unless you have to perform data repair.
...
WarrantyNo := ServPostingJnlsMgt.InsertWarrantyLedgerEntry(NextWarrantyLedgerEntryNo,
ServHeader,TempServLine,ServItemLine,"Qty. to Ship","Qty. to Ship",ServHeader."Shipping No.");
IF (NOT Consume) AND ("Qty. to Ship"<>0) THEN
ServPostingJnlsMgt.PostResJnlLineShip(TempServLine,ServShptHeader."No.",'');
END;
// Delete the following line.
IF ("Qty. to Invoice"<> 0) AND (("Document No." = '') OR ("Line Discount %" <>100)) THEN
// End of the deleted line.
ServPostingJnlsMgt.PostResJnlLineSale(ServLine,GenJnlLineDocNo,GenJnlLineExtDocNo);
END;
END; // Case Type
IF Consume AND ("Document Type" = "Document Type"::Order) THEN BEGIN
...
...
WarrantyNo := ServPostingJnlsMgt.InsertWarrantyLedgerEntry(NextWarrantyLedgerEntryNo,
ServHeader,TempServLine,ServItemLine,"Qty. to Ship","Qty. to Ship",ServHeader."Shipping No.");
IF (NOT Consume) AND ("Qty. to Ship" <>0) THEN
ServPostingJnlsMgt.PostResJnlLineShip(TempServLine,ServShptHeader."No.",'');
END;
// Add the following line.
IF ("Qty. to Invoice" <>0) THEN
// End of the added line.
ServPostingJnlsMgt.PostResJnlLineSale(ServLine,GenJnlLineDocNo,GenJnlLineExtDocNo);
END;
END; // Case Type
IF Consume AND ("Document Type" = "Document Type"::Order) THEN BEGIN
...