Event sequenceAdministration > System Initialization > Report setup > Macros > Macro Definition > Event sequence |
Top
Previous
Next
|
This chapter describes the exact event sequence in a macro. All green entries can be manipulated directly.
Start macroSaving the environment (variables) Variable macroid with the macro number Variable macrostartas with the macro type (fax, email, preview, print, Word, PDF ..) Setting the 4 possible parameters as per the window object description (for definition of sales/purchase documents) Deleting the global header functions Window definition object: Call window-related script Macro start script. Cancellation option with return failure. Among other things, the global functions can be set here, which are then called. If API is stored: API script (e.g. creation of entry in beas_document_header/line)
user-definable function reportscript_report_preinit() reportscript_report_init()
Loop SQL header query execute - as per macro setting (any SQL instruction). This can also have been defined in advance using the variable report_loopscript Variable query as per macro header. Variable query as per API
reportscript_post_variable()
LOOP SQL header queryTransfer of all results of the SQL instruction to the variable system, prefix is e_, e.g. the result column "itemcode" is stored in variable e_itemcode
reportscript_macro_loop()
Loop macrostepresetting of global macro step functions Active script. "return failure can be used for canceling Start Script. "return failure can be used for canceling The global macro step function can also be defined here, for example. Definition MacrostepSQL query reportscript_step_prevariable() Variable query as per macrostep reportscript_step_postvariable() If Crystalsetting variables: parameterrequest, externreport, connectverify as per macrostep setting Open Report set database connection If beas formSetting all variables. Variable s_parm1, s_parm2 ..., c_parm1, c_parm2 .. are transferred to the structure variable str_parm.s_parm1, s_parm2 ... . Variable beginning with "var_" are transferred to the variable system without "var_" to the target window. Open window. Continue to next macrostep. END
Loop macrostep SQL queryTransfer of all results of the SQL instruction to the variable system, prefix is e_, e.g. the result column "itemcode" is stored in variable e_itemcode reportscript_step_preinloop()
If SQL queryReplacement of placeholders in query Generate report If current window (only beas form)as per variable sys_printdw cache the corresponding DataWindow in $$tempdwcopy.psr, reload and remove graphics. ENDLoop macrooutputVariable query as per macooutput If Crystalquery missing parameters Set parameters Determine Excel path Determine filename (if fax/email, then "yyyy/mm/ddhhmmssffff") otherwise "preview" or as per specification Determine output type, if not specified Determine extension depending on format Preview? Depending on type and specification Crystal - disconnect for max. 4 seconds If printing: set printer driver, print - (the "retrieve" is only performed here) Otherwise export (the "retrieve" is performed here) If Current Window, SQL queryfind directory, if EXCEL, then the Excel directory, otherwise the attachment directory. Determine output type, filename and extension. If printing: Set printer driver, print Otherwise export according to data type ENDIf FAXDetermine fax number If via SAP: generate and send SAP message If via Windows: send the document to Windows API (only specific data formats are permitted) If emailIf subject starts with $, get text module, replace placeholders Determine email address CC1 and CC2 - where applicable also determine using script. Return script must be in variable "value". Determine attachments. Scripts must return attachments in variable "value". Open email window where necessary Send email depending on type. If Novalinenovaline_init() Transfer of Novaline parameters (novaline_param1,...5) Call of Novaline API. ENDreportscript_step_postinloop()
end Loop macrooutput
end Loop macrostep SQL Query
reportscript_step_prinzkz() - but only if "set print ID" has been activated If Crystal: Disconnect
end Loop macrosend LOOP SQL header query
reportscript_prinzkz() - as header function - but only if "set print ID" has been activated Reset the variable environment, which has been saved in advance. |