project QadFinancials > class BHistoryDaemonProcessor > method PerformWorkItemDIRECTCreatePostingSafCombined


Parameters


ihLocalHandleToThePersistenceinputhandle
iiGL1SafIDinputinteger
iiGL2SafIDinputinteger
iiGL3SafIDinputinteger
iiGL4SafIDinputinteger
iiGL5SafIDinputinteger
iiCostCentre1SafIDinputinteger
iiCostCentre2SafIDinputinteger
iiCostCentre3SafIDinputinteger
iiCostCentre4SafIDinputinteger
iiCostCentre5SafIDinputinteger
iiProject1SafIDinputinteger
iiProject2SafIDinputinteger
iiProject3SafIDinputinteger
iiProject4SafIDinputinteger
iiProject5SafIDinputinteger
iiGLSafStructureIDinputinteger
iiCostCentreSafStructureIDinputinteger
iiProjectSafStructureIDinputinteger
oiNewPostingSafCombinedIDoutputinteger
oiNbrOfCreatedPostingSAFCombinedoutputinteger
oiNbrOfCreatedPostingSAFHistoutputinteger
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BHistoryDaemonProcessor.PerformWorkItemDIRECT


program code (program1/bhistorydaemonprocessor.p)

/* ============================================================================================= */
/* This method creates a new SAF combination in the tables PostingSafCombined and PostingSafHist */
/* ============================================================================================= */
/* Input                                                                                         */
/*   iiCostCentre1-5Saf_ID and iiCostCentreSafStructureID                                        */
/*   iiGL1-5Saf_ID and iiGLSafStructureID                                                        */
/*   iiProject1-5Saf_ID and iiProjectSafStructureID                                              */
/* Output                                                                                        */
/*   oiPostingSafCombinedId (the new The PostingSafCombinedId)                                   */
/*   oiNbrOfCreatedPostingSAFCombined                                                            */
/*   oiNbrOfCreatedPostingSAFHist                                                                */
/* ============================================================================================= */
/* Indicate Direct db-access (find, update and create) is done here                              */
<I-46 {WRITEDIRECTDBACCESS
     &WRITETABLENAMES = "'PostingSaf,PostingSafCombined'"}>


/* =============================== */
/* Initialise output parameters    */
/* =============================== */
assign oiNbrOfCreatedPostingSAFCombined = 0
       oiNbrOfCreatedPostingSAFHist     = 0.

/* ========================================================= */
/* Create the PostingSafCombined based upon the input params */
/* ========================================================= */
create PostingSafCombined.
assign vhFcComponent                                = ihLocalHandleToThePersistence
       PostingSafCombined.PostingSafCombined_ID     = <M-18 GetNextValue  (input  'ObjectNumber':U (icSequence)) in Progress>
       PostingSafCombined.Project1Saf_ID            = iiProject1SafID
       PostingSafCombined.Project2Saf_ID            = iiProject2SafID
       PostingSafCombined.Project3Saf_ID            = iiProject3SafID
       PostingSafCombined.Project4Saf_ID            = iiProject4SafID
       PostingSafCombined.Project5Saf_ID            = iiProject5SafID
       PostingSafCombined.CostCentre1Saf_ID         = iiCostCentre1SafID
       PostingSafCombined.CostCentre2Saf_ID         = iiCostCentre2SafID
       PostingSafCombined.CostCentre3Saf_ID         = iiCostCentre3SafID
       PostingSafCombined.CostCentre4Saf_ID         = iiCostCentre4SafID
       PostingSafCombined.CostCentre5Saf_ID         = iiCostCentre5SafID
       PostingSafCombined.GL1Saf_ID                 = iiGL1SafID
       PostingSafCombined.GL2Saf_ID                 = iiGL2SafID
       PostingSafCombined.GL3Saf_ID                 = iiGL3SafID
       PostingSafCombined.GL4Saf_ID                 = iiGL4SafID
       PostingSafCombined.GL5Saf_ID                 = iiGL5SafID
       PostingSafCombined.ProjectSafStructure_ID    = iiProjectSafStructureID
       PostingSafCombined.CostCentreSafStructure_ID = iiCostCentreSafStructureID
       PostingSafCombined.GLSafStructure_ID         = iiGLSafStructureID
       PostingSafCombined.LastModifiedDate          = today
       PostingSafCombined.LastModifiedTime          = time
       PostingSafCombined.LastModifiedUser          = vcUserLogin.

/* ================= */
/* Set output values */
/* ================= */
assign oiNbrOfCreatedPostingSAFCombined  = oiNbrOfCreatedPostingSAFCombined + 1
       oiNewPostingSafCombinedID         = PostingSafCombined.PostingSafCombined_ID.
    
/* ======================================================================================= */
/* Create the PostingSafHist records underneath the PostingSafCombined - for the GLSafID's */
/* ======================================================================================= */
if iiGL1SafID > 0
then do:
    create PostingSafHist.
    assign oiNbrOfCreatedPostingSAFHist         = oiNbrOfCreatedPostingSAFHist + 1
           vhFcComponent                        = ihLocalHandleToThePersistence
           PostingSafHist.PostingSafHist_ID     = <M-9 GetNextValue  (input  'ObjectNumber':U (icSequence)) in Progress>
           PostingSafHist.Saf_ID                = iiGL1SafID
           PostingSafHist.PostingSafCombined_ID = PostingSafCombined.PostingSafCombined_ID.
end.
if iiGL2SafID > 0
then do:
    create PostingSafHist.
    assign oiNbrOfCreatedPostingSAFHist         = oiNbrOfCreatedPostingSAFHist + 1
           vhFcComponent                        = ihLocalHandleToThePersistence
           PostingSafHist.PostingSafHist_ID     = <M-53 GetNextValue  (input  'ObjectNumber':U (icSequence)) in Progress>
           PostingSafHist.Saf_ID                = iiGL2SafID
           PostingSafHist.PostingSafCombined_ID = PostingSafCombined.PostingSafCombined_ID.
end.
if iiGL3SafID > 0
then do:
    create PostingSafHist.
    assign oiNbrOfCreatedPostingSAFHist         = oiNbrOfCreatedPostingSAFHist + 1
           vhFcComponent                        = ihLocalHandleToThePersistence
           PostingSafHist.PostingSafHist_ID     = <M-81 GetNextValue  (input  'ObjectNumber':U (icSequence)) in Progress>
           PostingSafHist.Saf_ID                = iiGL3SafID
           PostingSafHist.PostingSafCombined_ID = PostingSafCombined.PostingSafCombined_ID.
end.
if iiGL4SafID > 0
then do:
    create PostingSafHist.
    assign oiNbrOfCreatedPostingSAFHist         = oiNbrOfCreatedPostingSAFHist + 1
           vhFcComponent                        = ihLocalHandleToThePersistence
           PostingSafHist.PostingSafHist_ID     = <M-63 GetNextValue  (input  'ObjectNumber':U (icSequence)) in Progress>
           PostingSafHist.Saf_ID                = iiGL4SafID
           PostingSafHist.PostingSafCombined_ID = PostingSafCombined.PostingSafCombined_ID.
end.
if iiGL5SafID > 0
then do:
    create PostingSafHist.
    assign oiNbrOfCreatedPostingSAFHist         = oiNbrOfCreatedPostingSAFHist + 1
           vhFcComponent                        = ihLocalHandleToThePersistence
           PostingSafHist.PostingSafHist_ID     = <M-70 GetNextValue  (input  'ObjectNumber':U (icSequence)) in Progress>
           PostingSafHist.Saf_ID                = iiGL5SafID
           PostingSafHist.PostingSafCombined_ID = PostingSafCombined.PostingSafCombined_ID.
end.

/* ============================================================================================ */
/* Create the PostingSafHist records underneath the PostingSafCombined - for the CostCentreID's */
/* ============================================================================================ */
if iiCostCentre1SafID > 0
then do:
    create PostingSafHist.
    assign oiNbrOfCreatedPostingSAFHist         = oiNbrOfCreatedPostingSAFHist + 1
           vhFcComponent                        = ihLocalHandleToThePersistence
           PostingSafHist.PostingSafHist_ID     = <M-85 GetNextValue  (input  'ObjectNumber':U (icSequence)) in Progress>
           PostingSafHist.Saf_ID                = iiCostCentre1SafID
           PostingSafHist.PostingSafCombined_ID = PostingSafCombined.PostingSafCombined_ID.
end.
if iiCostCentre2SafID > 0
then do:
    create PostingSafHist.
    assign oiNbrOfCreatedPostingSAFHist         = oiNbrOfCreatedPostingSAFHist + 1
           vhFcComponent                        = ihLocalHandleToThePersistence
           PostingSafHist.PostingSafHist_ID     = <M-11 GetNextValue  (input  'ObjectNumber':U (icSequence)) in Progress>
           PostingSafHist.Saf_ID                = iiCostCentre2SafID
           PostingSafHist.PostingSafCombined_ID = PostingSafCombined.PostingSafCombined_ID.
end.
if iiCostCentre3SafID > 0
then do:
    create PostingSafHist.
    assign oiNbrOfCreatedPostingSAFHist         = oiNbrOfCreatedPostingSAFHist + 1
           vhFcComponent                        = ihLocalHandleToThePersistence
           PostingSafHist.PostingSafHist_ID     = <M-87 GetNextValue  (input  'ObjectNumber':U (icSequence)) in Progress>
           PostingSafHist.Saf_ID                = iiCostCentre3SafID
           PostingSafHist.PostingSafCombined_ID = PostingSafCombined.PostingSafCombined_ID.
end.
if iiCostCentre4SafID > 0
then do:
    create PostingSafHist.
    assign oiNbrOfCreatedPostingSAFHist         = oiNbrOfCreatedPostingSAFHist + 1
           vhFcComponent                        = ihLocalHandleToThePersistence
           PostingSafHist.PostingSafHist_ID     = <M-67 GetNextValue  (input  'ObjectNumber':U (icSequence)) in Progress>
           PostingSafHist.Saf_ID                = iiCostCentre4SafID
           PostingSafHist.PostingSafCombined_ID = PostingSafCombined.PostingSafCombined_ID.
end.
if iiCostCentre5SafID > 0
then do:
    create PostingSafHist.
    assign oiNbrOfCreatedPostingSAFHist         = oiNbrOfCreatedPostingSAFHist + 1
           vhFcComponent                        = ihLocalHandleToThePersistence
           PostingSafHist.PostingSafHist_ID     = <M-77 GetNextValue  (input  'ObjectNumber':U (icSequence)) in Progress>
           PostingSafHist.Saf_ID                = iiCostCentre5SafID
           PostingSafHist.PostingSafCombined_ID = PostingSafCombined.PostingSafCombined_ID.
end.

/* ============================================================================================ */
/* Create the PostingSafHist records underneath the PostingSafCombined - for the ProjectSafID's */
/* ============================================================================================ */
if iiProject1SafID > 0
then do:
    create PostingSafHist.
    assign oiNbrOfCreatedPostingSAFHist         = oiNbrOfCreatedPostingSAFHist + 1
           vhFcComponent                        = ihLocalHandleToThePersistence
           PostingSafHist.PostingSafHist_ID     = <M-65 GetNextValue  (input  'ObjectNumber':U (icSequence)) in Progress>
           PostingSafHist.Saf_ID                = iiProject1SafID
           PostingSafHist.PostingSafCombined_ID = PostingSafCombined.PostingSafCombined_ID.
end.
if iiProject2SafID > 0
then do:
    create PostingSafHist.
    assign oiNbrOfCreatedPostingSAFHist         = oiNbrOfCreatedPostingSAFHist + 1
           vhFcComponent                        = ihLocalHandleToThePersistence
           PostingSafHist.PostingSafHist_ID     = <M-64 GetNextValue  (input  'ObjectNumber':U (icSequence)) in Progress>
           PostingSafHist.Saf_ID                = iiProject2SafID
           PostingSafHist.PostingSafCombined_ID = PostingSafCombined.PostingSafCombined_ID.
end.
if iiProject3SafID > 0
then do:
    create PostingSafHist.
    assign oiNbrOfCreatedPostingSAFHist         = oiNbrOfCreatedPostingSAFHist + 1
           vhFcComponent                        = ihLocalHandleToThePersistence
           PostingSafHist.PostingSafHist_ID     = <M-4 GetNextValue  (input  'ObjectNumber':U (icSequence)) in Progress>
           PostingSafHist.Saf_ID                = iiProject3SafID
           PostingSafHist.PostingSafCombined_ID = PostingSafCombined.PostingSafCombined_ID.
end.
if iiProject4SafID > 0
then do:
    create PostingSafHist.
    assign oiNbrOfCreatedPostingSAFHist         = oiNbrOfCreatedPostingSAFHist + 1
           vhFcComponent                        = ihLocalHandleToThePersistence
           PostingSafHist.PostingSafHist_ID     = <M-37 GetNextValue  (input  'ObjectNumber':U (icSequence)) in Progress>
           PostingSafHist.Saf_ID                = iiProject4SafID
           PostingSafHist.PostingSafCombined_ID = PostingSafCombined.PostingSafCombined_ID.
end.
if iiProject5SafID > 0
then do:
    create PostingSafHist.
    assign oiNbrOfCreatedPostingSAFHist         = oiNbrOfCreatedPostingSAFHist + 1
           vhFcComponent                        = ihLocalHandleToThePersistence
           PostingSafHist.PostingSafHist_ID     = <M-57 GetNextValue  (input  'ObjectNumber':U (icSequence)) in Progress>
           PostingSafHist.Saf_ID                = iiProject5SafID
           PostingSafHist.PostingSafCombined_ID = PostingSafCombined.PostingSafCombined_ID.
end.

/* ======================== */
/* Release the used buffers */
/* ======================== */
release PostingSafCombined.
release PostingSafHist.