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)
}