Posting PackingSlip

Hi friends,

I wrote a below code for posting a packingSlip in PurchaseOrder.While Am running this code nothing happen.Can you tell me What mistake i did it here.

void ProductPackingSlipUpdate2(ProductInform PurchaseOrderNo)

{

PackingSlipId packingSlipId;

ParmId parmid;

PurchId purchId;

;

purchFormLetter = PurchFormLetter::construct(DocumentStatus::PackingSlip);

packingSlipId = purchaseOrderNo.PurchaseOrderNo;

purchId = purchTable::find(purchaseOrderNo.PurchaseOrderNo);

parmid = purchFormLetter.parmId(NumberSeq::newGetNum(CompanyInfo::numRefParmId()).num());

purchFormLetter.sumNum(parmid);

purchFormLetter.parmParmTableNum(packingSlipId);

purchFormLetter.createParmUpdate();

purchParmTable.clear();

purchFormLetter.createParmTable(purchParmTable,purchTable);

purchParmTable.TransDate = today();

purchParmTable.DocumentDate = today();

purchParmTable.Num = packingSlipId;

purchParmTable.ParmId = parmid;

purchParmTable.insert();

purchParmLine.clear();

purchParmLine.InitFromPurchLine(purchLine);

purchParmLine.OrigPurchId = purchLine.PurchId;

[purchParmLine.ReceiveNow, purchParmLine.RemainBefore , purchParmLine.RemainAfter ] = purchFormLetter.qtyPurch (purchLine, purchLine.PurchReceivedNow);

[purchParmLine.InventNow, purchParmLine.RemainBeforeInvent, purchParmLine.RemainAfterInvent] = purchFormLetter.qtyInvent(purchLine, purchLine.InventReceivedNow);

purchParmLine.setLineAmount();

purchParmLine.ParmId = purchParmTable.ParmId;

purchParmLine.TableRefId = purchParmTable.TableRefId;

purchParmLine.insert();

purchFormLetter.proforma (false);

purchFormLetter.printFormLetter(false);

purchFormLetter.specQty (PurchUpdate::ReceiveNow);

purchFormLetter.transDate (datenull());

purchFormLetter.sumPurchId(purchId);

purchFormLetter.sumBy(AccountOrder::Order);

purchFormLetter.reArrangeNow(true);

purchFormLetter.parmParmTableNum(packingSlipId);

purchFormLetter.run();

}