hi,
i have written the below code and on debugging, the first method is not being executed, its not executing the method definition but it is executing the second method and going inside its definition
class HSUpdateCardDetails
{
public static void main(Args _args)
{
str multipleFields;
SalesLine salesLineLoc;
HSUpdateCardDetails updateCardDetails = new HSUpdateCardDetails();
multipleFields = _args.parm();
salesLineLoc= _args.record();
updateCardDetails.getCardDetails(multipleFields); // This method is not getting executed. it is directly executing the below one.
updateCardDetails.validateCardDetails(salesLineLoc);
updateCardDetails.updateCardDetails();
}
void getCardDetails(str _multipleLineFields)
{
con = str2con(_multipleLineFields,",");
hSGiftNum = conPeek(con,3);
hSGiftCard = HSGiftCard::find(hSGiftNum, false);
discAmount = conPeek(con,1);
custAccount = conPeek(con,2);
}
void validateCardDetails(SalesLine _salesLine)
{
salesLine = _salesLine;
select firstonly giftCardTransIssue
where giftCardTransIssue.GiftCardNumber == hSGiftNum
&& giftCardTransIssue.Operation == HSOperation::Issue;
if (discAmount >= giftCardTransIssue.Amount)
{
throw error ("@HSMasterGiftCard:ErrorInsufficientAmount");
}
else
{
if (SalesLine.LineAmount < discAmount)
{
throw error("@HSMasterGiftCard:ErrorMessageDiscountAmount");
}
}
}