Showing posts with label Post Invoices in Infor LN. Show all posts
Showing posts with label Post Invoices in Infor LN. Show all posts

Thursday, 29 March 2018

AFS to Process Billing Request (Compose, Print & Post)

#pragma used dll ottstpapihand
#pragma used dll ottdllbw

function extern domain  tcbool cicust.dll0001.compose.print.post.invoices( domain tcncmp i.financial.company,
domain cisli.brid i.billing.request,
domain cisli.devc i.device,
domain tcdate i.date,
ref domain tcmcs.s132m o.error.msg mb )
{
DllUsage
Expl : This function is used to completely process a given billing
  request. This does composing, printing and posting.
Pre : Financial Company should be the Current Company
Post : NA
Input : i.financial.company
  i.billing.request
  i.device -> Device to display the report.
  i.print.euro ->
Indicator whether EMU amount have to be printed
also in Euro or not.
Output : o.error.msg -> Error message when returning false
Returns : True -> When Billing Request is processed successfully
  False  -> Error in processing Billing Request
EndDllUsage

string error(200)
     
error = ""
o.error.msg = ""
        stpapi.put.field( "cisli2200m000", "f.billing.req.f", str$(i.billing.request))
        stpapi.put.field( "cisli2200m000", "f.billing.req.t", str$(i.billing.request))
        stpapi.put.field( "cisli2200m000", "f.composing", str$(etol(tcyesno.yes)))
        stpapi.put.field( "cisli2200m000", "f.br.compose", str$(etol(tcyesno.yes)))
        stpapi.put.field( "cisli2200m000", "f.invoice.date", str$(i.date))
        stpapi.put.field( "cisli2200m000", "f.br.print", str$(etol(tcyesno.yes)))
        stpapi.put.field( "cisli2200m000", "f.print.option", str$(etol(cisli.prno.original)))
        stpapi.put.field( "cisli2200m000", "f.print.in.euro", str$(etol(tcyesno.no)))
        stpapi.put.field( "cisli2200m000", "f.print.trans.dt", str$(i.date))
        stpapi.put.field( "cisli2200m000", "f.br.post", str$(etol(tcyesno.yes)))
        stpapi.put.field( "cisli2200m000", "f.post.trans.dt", str$(i.date))
        stpapi.put.field( "cisli2200m000", "f.br.set.device", i.device)
        stpapi.put.field( "cisli2200m000", "f.print.device", i.device)
        stpapi.put.field( "cisli2200m000", "f.post.device", i.device)
        stpapi.put.field( "cisli2200m000", "f.excp.device", i.device)

stpapi.form.command( "cisli2200m000", 5, "exec.cont.process", error )
        stpapi.end.session( "cisli2200m000" )

if not isspace(error) then
o.error.msg = error
return(false)
endif
return(true)
}