Disclosure of Invention
According to an embodiment of the present disclosure, a method is provided that includes executing, at an SAP server, a selected first print job. Executing the selected first print job includes instantiating an SAP object for dynamically loading a first external plug-in installed on the client and sending at least a portion of a data set for the first print job to the first external plug-in, receiving a validation result of the first external plug-in and determining whether the validation result indicates a validation success, and remotely invoking the first printer to print the quality certificate in response to determining that the validation result indicates a validation success.
In some embodiments, the method further includes receiving, via a user interface at the client, user input including a selection of at least one of the plurality of print jobs and parameters associated with the selected print job, and obtaining, at the SAP server, a dataset for each print job based on the selected print job and the parameters associated with the selected print job.
In some embodiments, the step of instantiating the SAP object for dynamically loading the first external plug-in installed on the client is based on a predefined SAP class including a plug-in call function for calling the external plug-in and defining parameters to be input to the external plug-in, a result receiving function for receiving authentication data from the external plug-in, and a printer remote call function for calling a remote printer to perform a print job.
In some embodiments, the method may further include executing the selected second print job at the SAP server. Executing the selected second print job includes accessing a second external plug-in installed at the client associated with the second print job and inputting at least a portion of a dataset for the second print job to the second external plug-in, obtaining authentication data generated by the second external plug-in, and remotely invoking the first printer to print the consistency certificate.
In some embodiments, the method may further include executing the selected third print job at the SAP server. Executing the selected third print job includes sending a request to the Web server, the request may contain a data set for the third print job, determining, by the Web server, an absolute path corresponding to a location where an object to be printed is stored based on the data set for the third print job contained in the request, determining, by the Web server, whether there is a matching object at the location indicated by the absolute path, and remotely invoking, by the Web server, the second printer to execute the third print job in response to determining that there is a matching object at the location indicated by the absolute path.
In some embodiments, the SAP server or Web server performs a remote call to the printer by calling a print plug-in on the server cluster, the call including an address indicating the print content corresponding to the print job and the printer.
In some embodiments, the method may further include driving, by the print plug-in, a driver of a printer corresponding to the print job, wherein the driver is deployed on the server cluster.
In some embodiments, the method may further include sending, by the print plug-in to the client, a print completion message and returning a printer status notification to the SAP server in response to completion of the print job when the printer is invoked to execute the print job, and sending an error message to the client in response to a print failure.
In some embodiments, the method may further include receiving, via a single user interface of the client, a selection of one or more print jobs and a designation of parameters associated with the selected print jobs.
In some embodiments, the parameters associated with the plurality of print jobs include at least one of carriage number, number 3C, and paper serial number.
In some embodiments, the first external plug-in is an OCX plug-in, the second external plug-in is a DLL plug-in, the first print job is a quality certificate print job, the second print job is a consistency certificate print job, the third print job is a product photo print job, the first printer is a certificate printer, the second printer is a photo printer, and the object to be printed is a product photo.
In some embodiments, the method may further include returning, at the SAP server, one or more prompt messages to a user of the client to indicate at least one of a failure of the authentication for the first print job, and a cause of the failure, a failure of the authentication for the second print job, and a cause of the failure, a print completion of the first print job, a print completion of the second print job, a print completion of the third print job, printer failure information, and a print failure and a cause of the failure.
According to further embodiments of the present disclosure, a computer-readable storage medium may be provided storing computer-executable instructions that, when executed by one or more processors, cause the method as described above to be performed.
According to further embodiments of the present disclosure, a computer program product may be provided comprising computer executable instructions which, when executed by one or more processors, cause the method described above to be performed.
According to further embodiments of the present disclosure, an SAP server may be provided that includes a memory storing computer-executable instructions and a processor coupled to the memory. The processor is configured to perform a selected first print job including instantiating an SAP object for dynamically loading a first external plug-in installed on a client and sending at least a portion of a data set for the first print job to the first external plug-in, receiving a validation result of the first external plug-in and determining whether the validation result indicates a validation success, and remotely invoking the first printer to print a quality certificate in response to determining that the validation result indicates a validation success.
In some embodiments, the processor is further configured to receive user input via a user interface at the client, the user input including a selection of at least one of the plurality of print jobs and parameters associated with the selected print job, and to obtain, at the SAP server, a dataset for each print job based on the selected print job and the parameters associated with the selected print job.
In some embodiments, the step of instantiating the SAP object for dynamically loading the first external plug-in installed on the client is based on a predefined SAP class including a plug-in call function for calling the external plug-in and defining parameters to be input to the external plug-in, a result receiving function for receiving authentication data from the external plug-in, and a printer remote call function for calling a remote printer to perform a print job.
In some embodiments, the processor is further configured to execute a selected second print job including accessing a second external plug-in installed at the client associated with the second print job and inputting at least a portion of a dataset for the second print job to the second external plug-in, obtaining authentication data generated by the second external plug-in, and remotely invoking the first printer to print the consistency certificate.
In some embodiments, wherein the processor is further configured to send a request to the Web server, the request may contain the data set for the third print job. Wherein the Web server determines an absolute path corresponding to a location where an object to be printed is stored based on a data set for a third print job contained in the request in response to the request, determines whether there is a matching object at the location indicated by the absolute path, and remotely invokes the second printer to execute the third print job in response to determining that there is a matching object at the location indicated by the absolute path.
In some embodiments, the processor is further configured to invoke a print plug-in on a server cluster to perform a remote invocation of the printer, the invocation including an indication of print content corresponding to the print job and an address of the printer, wherein a driver of the printer is deployed on the server cluster.
In some embodiments, the processor is further configured to receive, via a single user interface of the client, a selection of one or more print jobs and a designation of parameters associated with the selected print jobs.
In some embodiments, the first external plug-in is an OCX plug-in, the second external plug-in is a DLL plug-in, the first print job is a quality certificate print job, the second print job is a consistency certificate print job, the third print job is a product photo print job, the first printer is a certificate printer, the second printer is a photo printer, and the object to be printed is a product photo.
In some embodiments, the processor is further configured to return one or more prompt messages to a user of the client to indicate at least one of a verification failure for the first print job and a cause of the failure, a verification failure for the second print job and a cause of the failure, a print completion of the first print job, a print completion of the second print job, a print completion of the third print job, printer failure information, and a print failure and a cause of the failure.
According to further embodiments of the present disclosure, a system may be provided that includes a client, a first printer and a second printer directly connected to the client, an SAP server communicatively coupled to the client, a Web server communicatively coupled to the SAP server, and a server cluster communicatively coupled to the SAP server, wherein printer drivers associated with the first printer and the second printer are disposed on the server cluster, the system configured to perform a method as described above.
Detailed Description
The following description is presented to enable one of ordinary skill in the art to make and use the embodiments and is provided in the context of a particular application and its requirements. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments and applications without departing from the spirit or scope of the embodiments. Thus, the embodiments are not limited to the embodiments shown, but are to be accorded the widest scope consistent with the principles and features disclosed herein.
In the related art, there is provided a SAP-based vehicle certificate management system that monitors print jobs to be performed in real time, allows an operator to access a user interface to acquire parameters related to the print jobs to be performed from an SAP database, and expects subsequent print jobs to be automatically completed.
However, on the one hand, for QC and COC printing, as described above, when QC and OCO are printed, different plug-ins provided by different national departments need to be used to obtain verification/authentication data etc., and SAP servers or SAP-based applications cannot directly load or invoke these plug-ins. For example, the SAP server cannot directly load/call OCX plug-ins and/or DLL files.
On the other hand, the SAP server cannot drive the driver of the printer to execute printing. Therefore, the SAP server also cannot realize printing of the product photograph.
Accordingly, in the related art, for QC printing, a system architecture of SAP in combination with JAVA is proposed. Wherein the SAP server/application is used to collect data related to the generation of vehicle certificates and the JAVA server/application is used to invoke OCX plug-ins or DLL files provided by the national department to obtain verification/authentication data and to invoke the printer to perform print jobs.
For QC printing, using SAP in combination with JAVA system architecture, operators typically complete QC print tasks by the following operations.
The operator may access a user interface of the SAP server via the client to obtain a list of print jobs to be performed, such as the list shown in fig. 1A. The list may be updated in real time or more at intervals. The list may contain frame numbers that uniquely identify the vehicle. Different lists may be presented for different print demands of the operator, which may contain different information associated with the carriage number. For example, for photo printing, each entry in the list is considered to contain information such as number, frame number, line number, train, model number, configuration, color, hub, etc. The list may also include number 3C, paper serial number, etc. for QC/COC print jobs. Fig. 1A is merely one example of such a list. Those skilled in the art will appreciate that the form of presenting the print job to be performed and the associated information is not limited to a list, and may be in any other suitable manner.
In printing QC, an operator accesses a quality certificate printing user interface provided by the SAP server via the client, for example, as shown in fig. 1B, and inputs parameters such as a vehicle unique identification code (Vin Number in fig. 1B), no. 3C (CCC Number in fig. 1B), a paper serial Number (PAPER SERIAL No in fig. 1B), and the like in the user interface.
The SAP server collects data related to the quality certificate print job according to user input and transmits the data to the JAVA server, and the JAVA server invokes, for example, an OCX plug-in installed at the client to obtain a corresponding verification result and generate a quality certificate, and drives a printer driver installed at the client to drive the certificate printer to perform QC printing.
In the related art, the COC print job is performed using BSP technology.
When printing the consistency certificate, the operator accesses a consistency certificate printing user interface (which is another user interface different from the quality certificate printing user interface) provided by the SAP server via the client, and as shown in fig. 1C, the operator inputs parameters such as a carriage Number (Vin Number in fig. 1C), a paper serial Number (PAPER SERIAL No in fig. 1C), and the like in the user interface.
The SAP server collects data associated with the consistency certificate according to user input, BSP application in the SAP server sends the data to a client, a plug-in a DLL file form is loaded through a browser of the client to obtain a two-dimensional code, and driver software installed at the client is triggered to drive a certificate printer to execute a consistency certificate printing task.
In the related art, a vehicle photograph is generally stored locally at a client, or at a network storage device.
In printing the vehicle photograph, the operator manually finds the folder holding the vehicle photograph from the nested folders, thereby finding the corresponding photograph, based on at least some of the information, e.g., the vehicle system, model, configuration, color, hub, etc., of the one vehicle, e.g., the corresponding entry in the list in fig. 1A, and manually invokes the photograph printer at the client to print the vehicle photograph. For example, the operator may first find a folder that matches "family 1" and then find a subfolder under the "family 1" folder that matches the model and configuration of the vehicle, find a vehicle photo from the subfolder that matches the color and hub, and then call the photo printer at the client to perform the printing.
From the above, the existing printing system has at least the following problems:
1. Involving cumbersome interface operations, such as QC and COC, requiring access to different user interfaces and repeated input of frame numbers;
2. Excessive manual operations are involved, and mistakes are easy to occur, for example, photo printing is completely manual searching and printing;
3. For QC printing, a JAVA server/application program is introduced, so that the whole process involves more links, and the successful completion of printing can be influenced by errors in any link.
It would be desirable to provide a new integrated print management system that overcomes at least some of the above problems.
Fig. 2 shows an architecture diagram of an integrated print management system 200 according to an embodiment of the present disclosure.
As shown in fig. 2, the integrated print management system 200 includes a client 201, an SAP server 202, a Web server 203, a server cluster 204, a certificate printer 205, and a photo printer 206. The certificate printer 205 and the photo printer 206 are connected to the client 201 via, for example, a USB connection.
The client 201 may be various types of electronic devices or computing nodes including, but not limited to, desktop computers, laptop computers, mini/mainframe computer systems, and the like. The client 201 may present the user with an integrated user interface 300 provided by the SAP server 202, for example as shown in fig. 1D.
The user interface 300 may include controls to select a print job, for example, as shown in FIG. 1D, the user may specify one or more print jobs by checking one or more of the quality certificate print (QC print in FIG. 1D), consistency certificate print (COC print in FIG. 1D), and Photo print (Photo print in FIG. 1D) options, for example. The user interface 300 also includes input boxes for parameters associated with the print job, such as carriage number (VIN number in FIG. 1D), 3C number (CCC number in FIG. 1D), quality certificate paper serial number (PAPER SERIAL number QC in FIG. 1D), and consistency certificate paper serial number (PAPER SERIAL number COC in FIG. 1D), among others. Those skilled in the art will appreciate that the user interface 300 is merely an example, and that those skilled in the art will appreciate variations as long as the operator can readily specify multiple tasks at a time and fill in relevant parameters.
In some embodiments, the operator may only need to manually fill in the frame number, and other parameters associated with that frame number may be automatically filled in.
In other embodiments, the user interface may be omitted. For example, confirmation of vehicle assembly completion may automatically trigger one or more print jobs (automatically selected according to preset rules) to be automatically generated and executed.
The client 201 may also present messages returned by SAP servers, web servers, printers, etc. to the user, which may indicate successful completion of a print job, failure of a print job, cause of failure of a print job, adjustment indication, etc.
The client 201 installs various external plug-ins provided by, for example, the national division, such as an OCX plug-in for QC printing and a plug-in the form of a DLL file for COC printing.
Those skilled in the art will appreciate that the present application has been described with respect to, for example, OCX and DLL packages for ease of illustration, but that various other external packages may also be adapted for use with the methods and systems of the present application.
SAP server 202 may receive print jobs and related parameters specified by an operator via, for example, user interface 300 from client 201, gather data sets for each print job from its own database, and complete the print job in conjunction with web server 203 and/or server cluster 204. The data sets for the respective print jobs may contain data relating to print content, information relating to printers, and the like.
The SAP server 202 may comprise a QC processing module 202-1, the QC processing module 202-1 being capable of dynamically loading external plug-ins installed at the clients 201, such as OCX plug-ins, to obtain the verification data of the QC. I.e. QC processing module 202-1, allows the SAP server to directly load the OCX plug-ins without the involvement of JAVA servers/applications.
The QC processing module 202-1 may be implemented, for example, by creating SAP classes and SAP object instantiations. The SAP class may include a plug-in call function for calling an external plug-in and defining parameters to be input to the external plug-in, a result receiving function for receiving authentication data from the external plug-in, and a printer remote call function for calling a remote printer to perform a print job. As will be described in detail later.
SAP server 202 may also include COC processing module 202-2. The COC processing module 202-2 is implemented, for example, as a board level support package (Board Support Package, abbreviated as BSP) application. The COC processing module 202-2 can access a plug-in the form of a DLL file installed at the client to acquire a two-dimensional code for COC authentication. The SAP server sends the data set for the COC printing task to the client through the BSP technology, and the plug-in the form of a DLL file is loaded through the browser of the client to acquire the two-dimensional code, so that the COC certificate to be printed is generated.
The SAP server 202 may then invoke the print plug-in 204-1 at the server cluster 204 to drive the corresponding printer to perform printing.
SAP server 202 may also gather a dataset for a photo print job from a database based on, for example, a carriage number and send the dataset to Web server 203 in a request so that Web server 203 may, for example, use JAVA application 203-1 to find a photo to be printed in its own memory 203-2 based on at least a portion of the dataset in the request and invoke print plug-in 204-1 at server cluster 204 to drive the corresponding printer to perform the printing.
The print plug-in 204-1 at the server cluster 204 is implemented, for example, in a DLL file. Drivers associated with certificate printer 205 and photo printer 206 are deployed at memory 204-2 of server cluster 204. In other words, the drivers at server cluster 204 are in one-to-one correspondence with printers.
The print plug-in 204-1 (hereinafter sometimes also referred to as a print plug-in) may be a plug-in the form of a DLL file that performs functions such as designating a printer, returning the actual print status of the printer to the client, including paper jams, ink starvation, paper starvation, and the like. The plug-in may also load a software development kit (Software Development Kit, abbreviated as SDK) provided by the printer vendor so that the number of remaining sheets of photographic paper may be obtained.
The general process flow of the print plug-in may be:
1. And initializing an interface, namely loading local printer list information. The list information includes, for example, a printer name.
2. Setting printing parameters, and configuring a printer, a paper box and the number of copies.
3. And starting a printing queue, namely generating a printing task, comprising printing content, designating a paper output printer, a paper output paper box and the like, and stacking the printing task in the printing queue.
4. And the queue execution, before the task is popped, checking the state of the appointed printer, such as abnormal state, busy state and the like, displaying the state information of the printer, and executing the printing action according to the configuration and obtaining the printing result if the state is idle.
The printing plug-in can realize automatic call of the printer, real-time acquisition of the real state of the printer, and various functions are packaged for convenient call of a peripheral system. The method is beneficial to realizing the networked centralized management of the printing tasks.
The system 200 may also include a Web server 203 on which the JAVA application 203-1 is deployed. The SAP server may send a request to Web server 203 containing the data set for the photo print job. The JAVA application 203-1 may find a matching photo to be printed from the memory 203-2 storing the vehicle photo based on the dataset and remotely invoke, for example, the photo printer 206 to perform the photo print job.
Those skilled in the art will appreciate that while only client 201 is shown, the system may involve multiple clients and associated multiple printers, and thus, drivers associated with the multiple printers may be stored in memory 204-2 of server cluster 204. Each printer is identified by, for example, an IP address, a name, or the like.
Fig. 3A and 3B illustrate a flowchart of an integrated print management method 300 according to an embodiment of the present disclosure.
As shown, the integrated print management method 300 includes a step 301 in which one or more print jobs and associated parameters are received.
For example, user input may be received from an operator via a user interface at a client (e.g., user interface 300 in fig. 1D) that specifies at least one of the one or more print jobs and inputs the associated one or more parameters. These tasks and parameters are indicated/sent to the SAP server.
In connection with fig. 2 and 1D, an operator may select at least one of the three print jobs QC, COC, and photo-print via, for example, user interface 300 at client 201 and input parameters associated with those print jobs, such as one or more of a frame number, CCC number, QC paper serial number, and COC paper serial number associated with a particular vehicle. In some embodiments, three of QC, COC and photo are printed by default, i.e., the three print jobs are selected by default.
Here, it is assumed that the operator has selected to execute three print jobs of QC, COC, and photo printing, and these three print jobs are executed in sequence. Those skilled in the art will appreciate that there may be more or fewer print jobs and that the order of execution of the print jobs may be adjusted as desired. These are all within the teachings of this disclosure.
The method 300 then proceeds to step 303 where a data set for each print job is obtained based on the received one or more print jobs and associated parameters.
The data set for each print job is a set of data required to implement the print job. One data set may contain information related to print content or information related to printer designation.
For example, for a QC print job, a dataset for the QC print job, such as the make, model, color, etc. of the vehicle associated with the QC, may be collected from a database of SAP servers.
For COC print jobs, a data set for the COC print job, such as vehicle population information and consistency credential parameter information, may be collected from a database of SAP servers.
For a photo print job, a data set for the photo print job, such as the vehicle's make, model, color, configuration, hub, etc., may be collected from a database of SAP servers.
Acquiring the data set for each print job further includes format converting the raw data collected from the database and assembling the converted data into an assembled data set that meets the subsequent processing requirements.
The method may then perform the selected first print job. In the method 300, a description is given taking as an example that the first print job is a QC print job. The first print job involves a first external plug-in that was not previously directly loadable or invokable to access an SAP server provided by the national department. Hereinafter, the first external plug-in will be described by taking an OCX plug-in as an example.
Next, the method 300 proceeds to step 305, where, for the QC print job, the SAP object for dynamically loading the OCX plug-in installed on the client is instantiated and at least a portion of the dataset for the QC print job is sent to the OCX plug-in.
Step 305 is performed, for example, by QC processing module 202-1 in the SAP server. As described above, in the related art, the SAP server cannot directly load external plug-ins, such as an OCX plug-in or a plug-in the form of a DLL file.
The QC processing module 202-1 in the present application is, for example, an object developed in an SAP server for dynamically invoking external plug-ins, such as OCX plug-ins.
In some embodiments, SAP classes may be created in advance, which inherit CL_GUI_CONTROL. Cl_gui_control is a standard class for CONTROL provided by SAP and functions to dynamically load plug-ins local to the client.
Next, a plug-in call function for a specific plug-in may be constructed, which is used to define which specific external plug-in is to be called, and what parameters are to be entered into the specific plug-in. For QC printing, for example, a call function for the OCX plug-in may be constructed that defines which specific parameters to input to the OCX plug-in. SAP object instantiation is implemented when parameters are entered for, for example, an OCX plug-in when the call function is used. In other words, when a QC print job is received, SAP object instantiation is performed for that job, dynamically loading the OCX plug-in installed at the client to the SAP server, and passing the data set to the OCX plug-in.
One or more plug-in calling functions may be included in the SAP class to implement the calling actions of the one or more plug-ins.
Next, the method 300 proceeds to step 307 where the validation result of the OCX plug-in is received and it is determined whether the validation result indicates that the validation was successful.
Step 304 is also performed, for example, by QC processing module 202-1 in the SAP server.
In some embodiments, a result receiving function having one or more variables may be predefined for receiving one or more validation results received from an external plug-in. For example, assuming that the results of the OCX plug-in contain multiple validation results, a function with multiple variables may be defined for receiving the multiple validation results separately. In other embodiments, multiple result receiving functions may be defined to receive multiple verification results for the same external plug-in, respectively. Multiple result receiving functions may be packaged.
In some embodiments, one or more result receiving functions may be predefined for receiving result information returned by one or more external plug-ins. The plurality of resulting receive functions may also be encapsulated.
For the case where only a single verification result is involved, whether the verification result passes the verification may indicate whether the verification is successful.
For the case where there are a plurality of verification results, determining whether the verification result indicates that the verification is successful based on the received verification result may include, for example, determining that the verification is indicated to be successful if the plurality of verification results all pass the verification. If any one of the verification results fails the verification, it is determined that the verification fails.
If it is determined at step 307 that the verification is successful, the method 300 proceeds to step 309, where the certificate printer is remotely invoked to print the QC certificate.
Although not shown, if it is determined at step 307 that the verification failed, the method 300 may further include returning a first error message to the client. In some embodiments, the first error message indicates a specific cause of the verification failure and/or an operational recommendation to the operator. For example, the first error message may indicate that a particular field does not meet specifications, etc.
A printer remote call function may be defined in the SAP class described above that specifies calling a print plug-in (e.g., print plug-in 204-1) on, for example, server cluster 204 and sending print content corresponding to the QC print job to the print plug-in, thereby driving the corresponding credential printer to perform credential printing, e.g., driving credential printer 205 at client 201 to perform QC printing.
The printer remote call function may specify information such as an IP address of a remote printer that performs the print job. The SAP server, when invoking the function, sends a print request or instruction to a print plug-in on the server cluster 204, such as print plug-in 204-1, which may contain information such as the IP address of the remote printer performing the print job. The print plug-in on the server cluster 204 determines a printer driver to be driven based on the information of the IP address or the like in response to receiving the request, thereby driving the program so that a printer corresponding to the program performs a printing action.
Typically in the production link, at the printing station at the end of each production line, the printer is directly connected to the client via USB, i.e. the IP address of the printer, i.e. the IP address of the client. In other embodiments, however, the IP address of the printer may not be the same as the IP address of the client, and the printer may be connected to other electronic devices outside the client and have the same IP address as the electronic device.
In the related art, drivers of printers are deployed at respective clients. In the present application, the drivers for all printers of all production lines may be deployed all at server cluster 204, so that centralized management of network printers and remote print calls may be implemented. This can reduce maintenance costs and improve safety.
The above step 305 and subsequent steps may be defined in the SAP class. Those skilled in the art will appreciate that more or fewer functions may be defined in such SAP classes to achieve more or fewer functions. By defining and encapsulating different functions, the invocation of various external plug-ins can be realized, and the receiving and encapsulation of results from various external plug-ins can be realized. These are all within the scope of the present disclosure.
The application can lead the SAP server to directly load and call one or more external plug-ins by introducing SAP class and object instantiation, and can reduce intermediate links and improve the running stability of the system by avoiding using JAVA server/application program to call the external plug-ins as in the related technology. The SAP server can also receive and package the results of one or more external plug-ins, so that multiplexing of various external plug-ins can be well realized, and the working efficiency is improved.
In some embodiments, the method 300 may further include determining whether QC printing was completed successfully. This may be determined based on feedback from the print plug-in 204-1 on the server cluster 204. If it is determined that QC printing is not successfully completed, the client may be notified of a printing error message. The print error message may indicate a cause of the print failure, for example, information indicating a printer failure, an abnormal state, or the like.
If it is determined that QC printing is successfully completed, the method 300 may then execute the selected second print job. The following description will take the example in which the second print job is a COC print job as an example with reference to fig. 3B.
The second print job involves a second external plug-in that was not directly loadable or invokable before accessing the SAP server provided by another national department. Hereinafter, a second external plug-in will be described as an example of a DLL plug-in.
If the QC print job is successfully completed, the method 300 may proceed to step 317 to perform COC printing (see FIG. 3B).
As shown in fig. 3B, at step 317, an external plug-in installed at the client associated with the COC print job is accessed and at least a portion of the dataset for the COC print job is entered. This step is performed, for example, by COC processing module 202-2 on the SAP server. The COC processing module 202-2 is implemented, for example, as a BSP application.
In some embodiments, the external plug-in is a COC-related external plug-in the form of a DLL file, hereinafter COC-related DLL plug-in. The consistency certificate of the vehicle comprises a two-dimensional code for anti-counterfeiting. The two-dimensional code must be acquired via, for example, a COC-related DLL plug-in provided by the country part. It is necessary to input relevant parameters such as the frame number to the card.
The method then proceeds to step 319 where authentication data generated by the COC-related DLL plug-in is obtained.
The method then proceeds to step 321 where a certificate printer is remotely invoked to print the COC certificate.
For example, the SAP server generates print content based on the obtained authentication data and other data, and sends the print content to the print plug-ins 204-1 on the server cluster 204, causing the print plug-ins 204-1 to invoke the associated printer to perform the printing.
Although not shown, the method 300 may also include notifying the client of error information or the like when a failure occurs during COC printing.
The printing process of the entire consistency certificate may be a non-sensitive operation, i.e. the entire process does not pop up any other windows to trigger the printer's selection or setting.
After the COC certificate is printed, a selected third print job may be performed. The third print job is, for example, a product photo print job, i.e., the object to be printed is a product photo. These product photos are stored, for example, in an accessible storage device.
As shown in fig. 3B, the method 300 may continue to step 323 for photo printing.
At step 323, the sap server may send a request to the Web server, which may contain the data set for the photo print job. The request causes the Web server to remotely invoke the photo printer to perform the photo print job.
The request is for example a GET request. The JAVA application 203-1 on the Web server 203 may use at least a portion of the dataset for the photo print job to identify a path along which the matching photo to be printed is deposited in the Web server.
In step 325, the web server determines an absolute path corresponding to the location where the photograph to be printed is stored based on the dataset for the photograph print job contained in the request.
The Web server (more specifically, the JAVA application 203-1) may determine the location of the photograph to be printed based on at least a portion of the dataset for the photograph print job. For example, the location of the photograph to be printed may be determined by matching with the directory of nested folders and/or the photograph file name based on the car system, model, color, configuration, hub information in the dataset for the photograph print job.
The method 300 then proceeds to step 327 where the web server determines whether there is a matching photograph at the location indicated by the absolute path.
This can be determined, for example, by whether there is a file name matching hub information or the like under the folder indicated by the absolute path.
If it is determined at step 327 that there is no error message, the client is notified. The error message may contain information indicating the cause of the error.
If it is determined at step 327 that there is a print, then the method 300 proceeds to step 327 and the web server remotely invokes the photo printer to perform the photo print job.
Similarly, JAVA application 203-1 invokes print plug-in 204-1 in server cluster 204 to print the found matching photograph.
Although not shown, the method 300 may also include notifying the client of error information or the like when a failure occurs during photo printing. The method 300 may further include notifying the client of the success of the printing if the printing is successful, and the printing plug-in may send the information of the status after the printing, the printing time, etc. to the SAP server in the form of RFC.
Those skilled in the art will appreciate that the integrated print management system and method of the present application can be fully automated. For example, the steps of selecting a print job and entering relevant parameters at the client by the operator via the user interface in steps 301 and 303 may be automatically triggered by an event that the vehicle assembly is complete, and the relevant print job is automatically determined, and the associated parameters automatically invoked from the real-time supervisor of the SAP server.
The integrated print management system and method disclosed by the application provide a number of advantages.
For example, an operator may select multiple print jobs at a time via a unified user interface and enter associated parameters for the selected print jobs. Compared with the scheme of the related technology, the operation interface is concise, the operation steps are greatly simplified, the occurrence of error is reduced, and the smooth completion of the production plan can be better ensured.
The scheme of the application realizes that the SAP server directly loads/calls/accesses the external plug-in unit installed at the client, such as a DCX plug-in unit or a DLL plug-in unit, without adding intermediate links related to JAVA, simplifies the background implementation flow, saves the cost and reduces the failure rate.
In the scheme of the application, the printer driver is intensively deployed at the safe server cluster instead of being dispersedly installed at the client, thereby realizing remote call and improving the safety.
According to the scheme, automatic positioning and automatic printing of the photo to be printed are realized, and the working efficiency and the accuracy are improved.
Fig. 4 is a schematic diagram illustrating a general hardware environment in which devices according to embodiments of the present disclosure may be implemented.
Referring now to FIG. 4, a schematic diagram of an example of a computing node 600 is shown. Computing node 600 is but one example of a suitable computing node and is not intended to suggest any limitation as to the scope of use or functionality of the embodiments described herein. Regardless, the computing node 600 is capable of implementing and/or performing any of the functions set forth above.
The client 201, SAP server 202, web server 203, server cluster 204, etc. shown in fig. 2 may all be implemented by one or more computing nodes 600.
In computing node 600, there is a computer system/server 6012 that can operate in conjunction with a number of other general purpose or special purpose computing system environments or configurations. Examples of well known computing systems, environments, and/or configurations that may be suitable for use with computer system/server 6012 include, but are not limited to, personal computer systems, server computer systems, thin clients, thick clients, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers systems, mainframe computer systems, distributed cloud computing environments that include any of the above systems or devices, and the like.
Computer system/server 6012 may be described in the general context of computer-system-executable instructions, such as program modules, being executed by a computer system. Generally, program modules may include routines, programs, objects, components, logic, data structures, etc. that perform particular tasks or implement particular abstract data types. Computer system/server 6012 may be practiced in distributed cloud computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed cloud computing environment, program modules may be located in both local and remote computer system storage media including memory storage devices.
As shown in fig. 4, computer system/server 6012 in computing node 600 is shown in the form of a general purpose computing device. Components of computer system/server 6012 may include, but are not limited to, one or more processors or processing units 6016, a system memory 6028, and a bus 6018 that couples various system components including the system memory 6028 to the processing unit 6016.
Bus 6018 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processor, or a local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include, but are not limited to, industry Standard Architecture (ISA) bus, micro channel architecture (MAC) bus, enhanced ISA bus, video Electronics Standards Association (VESA) local bus, peripheral Component Interconnect (PCI) bus, peripheral component interconnect express (PCIe), and Advanced Microcontroller Bus Architecture (AMBA).
Computer system/server 6012 typically comprises a variety of computer system-readable media. Such media can be any available media that is accessed by computer system/server 6012 and includes both volatile and nonvolatile media, removable and non-removable media.
The system memory 6028 may include computer system-readable media in the form of volatile memory, such as Random Access Memory (RAM) 30 and/or cache memory 6032. Computer system/server 6012 may also include other removable/non-removable, volatile/nonvolatile computer system storage media. By way of example only, a storage system 6034 may be provided for reading from and writing to non-removable, non-volatile magnetic media (not shown, and commonly referred to as a "hard disk drive"). Although not shown, a magnetic disk drive may be provided for reading from and writing to a removable, nonvolatile magnetic disk (e.g., a "floppy disk"), and an optical disk drive may be provided for reading from and writing to a removable, nonvolatile optical disk such as a CD-ROM, DVD-ROM, or other optical media. In such cases, each may be coupled to bus 6018 by one or more data medium interfaces. As will be further depicted and described below, memory 6028 may include at least one program product having a set (e.g., at least one) of program modules configured to carry out the functions of embodiments of the disclosure.
By way of example, and not limitation, program/utility 6040 having a set (at least one) of program modules 6042 and an operating system, one or more application programs, other program modules, and program data may be stored in memory 6028. An operating system, one or more application programs, other program modules, and program data, or some combination thereof, may each include an implementation of a network environment. Program modules 6042 generally perform the functions and/or methods in the embodiments as described herein.
Computer system/server 6012 may also communicate with one or more external devices 6014 such as a keyboard, pointing device, display 6024, etc., one or more devices that enable a user to interact with computer system/server 6012, and/or any device (e.g., network card, modem, etc.) that enables computer system/server 6012 to communicate with one or more other computing devices. Such communication may occur via an input/output (I/O) interface 22. Also, computer system/server 6012 may communicate with one or more networks such as a Local Area Network (LAN), a general Wide Area Network (WAN), and/or a public network (e.g., the internet) via network adapter 20. As depicted, network adapter 20 communicates with other components of computer system/server 6012 via bus 6018. It should be appreciated that although not shown, other hardware and/or software components can be utilized in conjunction with computer system/server 6012. Examples include, but are not limited to, microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archive storage systems, among others.
The present disclosure may be embodied as systems, methods, and/or computer program products. The computer program product may include a computer-readable storage medium(s) having computer-readable program instructions thereon for causing a processor to perform aspects of the present disclosure.
A computer readable storage medium may be a tangible device that can hold and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of a computer-readable storage medium includes a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a Static Random Access Memory (SRAM), a portable compact disc read-only memory (CD-ROM), a Digital Versatile Disc (DVD), a memory stick, a floppy disk, a mechanical encoding device such as a punch card or an in-groove protrusion structure having instructions stored thereon, and any suitable combination of the foregoing. A computer-readable storage medium, as used herein, is not to be construed as a transitory signal itself, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., a pulse of light through a fiber optic cable), or an electrical signal transmitted through an electrical wire.
The computer readable program instructions described herein may be downloaded from a computer readable storage medium to individual computing/processing devices or over a network (e.g., the internet, a local area network, a wide area network, and/or a wireless network) to an external computer or external storage device. The network may include copper transmission cables, fiber optic transmissions, wireless transmissions, routers, firewalls, switches, gateway computers and/or edge servers. The network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards these computer readable program instructions for storage in a computer readable storage medium in the respective computing/processing device.
Computer readable program instructions for performing the operations of the present disclosure may be assembly instructions, instruction Set Architecture (ISA) instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source or object code written in any combination of one or more programming languages, including an object oriented programming language such as SMALLTALK, C ++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computer (e.g., through the internet using an internet service provider). In some embodiments, the custom electronic circuit, including, for example, a programmable logic circuit, a Field Programmable Gate Array (FPGA), or a Programmable Logic Array (PLA), may be personalized by utilizing state information of computer readable program instructions that may be executed in order to perform aspects of the disclosure.
Aspects of the present disclosure are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer-readable program instructions.
These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable medium having the instructions stored therein includes an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer, other programmable apparatus or other devices implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
Those skilled in the art will also appreciate that the various operations illustrated in the order of execution in the embodiments of the disclosure are not necessarily performed in the order illustrated. The order of operations may be adjusted as desired by those skilled in the art. Those skilled in the art may add more operations or omit some of them as desired.
The description of the various embodiments of the present disclosure has been presented for purposes of illustration, but is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application, or the technical improvement of the technology found in the marketplace, or to enable others skilled in the art to understand the embodiments disclosed herein.