Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations bkrike on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

add optional field with macro

Status
Not open for further replies.

johnhugh

Technical User
Mar 24, 2010
702
SG
Hi, I'm using Accpac 5.6.
Could someone please share some code with me how to add an optional field to the detail grid of a requisition or PO?
I don't know how to get down to the actual optional field of the line detail.

Much appreciated.

Code:
Public Function CreateREQ()
Dim x As Integer
Dim PTPRH As AccpacCOMAPI.AccpacView
Dim PTPRHFields As AccpacCOMAPI.AccpacViewFields
Dim PTPRD As AccpacCOMAPI.AccpacView
Dim PTPRDFields As AccpacCOMAPI.AccpacViewFields
Dim PTPRHO As AccpacCOMAPI.AccpacView
Dim PTPRHOFields As AccpacCOMAPI.AccpacViewFields
Dim PTPRDO As AccpacCOMAPI.AccpacView
Dim PTPRDOFields As AccpacCOMAPI.AccpacViewFields
Dim PTPRC As AccpacCOMAPI.AccpacView
Dim PTPRCFields As AccpacCOMAPI.AccpacViewFields
   
mDBLinkCmpRW.OpenView "PT0040", PTPRH
Set PTPRHFields = PTPRH.Fields
mDBLinkCmpRW.OpenView "PT0041", PTPRD
Set PTPRDFields = PTPRD.Fields
mDBLinkCmpRW.OpenView "PT0816", PTPRHO
Set PTPRHOFields = PTPRHO.Fields
mDBLinkCmpRW.OpenView "PT0818", PTPRDO
Set PTPRDOFields = PTPRDO.Fields
mDBLinkCmpRW.OpenView "PT0042", PTPRC
Set PTPRCFields = PTPRC.Fields

PTPRH.Compose Array(PTPRD, PTPRHO)
PTPRD.Compose Array(PTPRH, PTPRC, PTPRDO)
PTPRHO.Compose Array(PTPRH)
PTPRDO.Compose Array(PTPRD)
PTPRC.Compose Array(PTPRD)

'Header

PTPRHFields("RQNHSEQ").PutWithoutVerification ("0")            ' Purchase Order Sequence Key
PTPRH.Init

PTPRHFields("WORKFLOW").Value = strWorkflow                     ' Workflow
PTPRHFields("COSTCTR").Value = strCostCentre                    ' Cost Centre
PTPRHFields("PROCESSCMD").PutWithoutVerification ("1")          ' Command
PTPRH.Process
PTPRHFields("STCODE").Value = strCostCentre                     ' Ship-To Location
PTPRHFields("BTCODE").Value = strCostCentre                     ' Bill-To Location
PTPRHFields("DESCRIPTIO").Value = "Usage from " & DateFrom & " to " & DateTo & "." ' Description
PTPRHFields("REQDATE").Value = DateSerial(Year(Now), Month(Now), Day(Now))  'RQN Date
PTPRHFields("RQRDDATE").Value = DateSerial(Year(DateRequired), Month(DateRequired), Day(DateRequired))          ' Required Date

'Detail
For x = LBound(ItemDetails) To UBound(ItemDetails)
    If ItemDetails(x, 0) > 0 Then
        PTPRD.RecordCreate 0
        PTPRDFields("FMTITEMNO").Value = ItemDetails(x, 0)
        PTPRDFields("ITEMDESC").Value = ItemDetails(x, 1)
        'PTPRDFields("GLACCTFULL") = "GL account"
        PTPRDFields("REQQTY").Value = ItmemDetails(x,3)                 ' Quantity Ordered
        PTPRDFields("RQRDDATE").Value = DateSerial(2012, 5, 3)
        PTPRDFields("VDCODE").Value = strvendor
        PTPRDFields("LOCATION").Value = strCostCentre
        PTPRD.Insert
        PTPRDFields("RQNLREV").PutWithoutVerification ("-1")          ' Line Number
    End If
Next x

PTPRH.Insert
strRQNnumber = PTPRHFields("RQNNUMBER").Value

End Function
 
I've now added the below for Optional Fields.
Hope this is correct.

Code:
'Detail
For x = LBound(ItemDetails) To UBound(ItemDetails)
    If ItemDetails(x, 0) > 0 Then
        PTPRD.RecordCreate 0
        PTPRDFields("FMTITEMNO").Value = ItemDetails(x, 0)
        PTPRDFields("ITEMDESC").Value = ItemDetails(x, 1)
        'PTPRDFields("GLACCTFULL") = "GL account"
        PTPRDFields("REQQTY").Value = ItemDetails(x, 3)                 ' Quantity Ordered
        'PTPRDFields("UNITCOST").Value = "120.00"
        PTPRDFields("RQRDDATE").Value = DateSerial(2012, 5, 3)
        PTPRDFields("VDCODE").Value = strvendor
        'PTPRDFields("VENDITEMNO").Value = "vendor item number"
        PTPRDFields("LOCATION").Value = strCostCentre
        PTPRD.Insert
        PTPRDFields("RQNLREV").PutWithoutVerification ("-1")          ' Line Number
        
        PTPRDOFields("OPTFIELD").Value = "RIG"
        PTPRDOFields("VALUE").Value = "002"
        PTPRDO.Insert
        PTPRD.Update
    End If
Next x
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top