SAP for Public Sector Discussions
Foster conversations about citizen engagement, resource optimization, and service delivery improvements in the public sector using SAP.
cancel
Showing results for 
Search instead for 
Did you mean: 

Smartform XSF file

Former Member
0 Kudos

Hi Experts,

XSF file is batch process that produce a single file with multiple records/Business Partners. Is there a way that SAP can send individual records rather than the batch file u2013 essentially splitting up the batch file into messages per record?

Regards,

Mishumo

4 REPLIES 4

Former Member
0 Kudos

In which context are you using XSF?

One single "message" per spool job is possible. But that is controlled in the print program for the smartform. Basically you need to "close" the spool request for each output document (and "output immediately").

But that said it is possible. But for higher volumes not a good idea since you will get much more overhead (worse performance) with that approach.

Regards,

Christian

0 Kudos

Hi Christian,

Thanks for your response.

I'll be creating the XML file that will interfaced to an external 3rd party system who will send it to different other systems, either for internet viewing, printing into PDF and for External PDF archiving.

We have some limitations with this, in cases where we have a number of records in one batch file. The system that route this message can only take 100mb of message size.

If it's possible, do you have any documentation on how I can achieve that.

Hope that is in order.

Regards,

Mishumo

0 Kudos

You need to locate the print program (a specific ABAP report that transfers the data from the application to the smartform). For example for Billing the standard print program is RLB_INVOICE but would be different for any other application.

What you need to do is either use explicitly SSF_OPEN and SSF_CLOSE before and after a number of calls to the smart form function module (every smartform gets a generated function module which you call to trigger output). Also check parameter to that functionmodule called CONTROL_PARAMETERS of type SSFCTRLOP. Relevant paremeters there are NO_OPEN and NO_CLOSE.

Basically you then should count how many smartforms to process before calling close and then open again. I.e so that you for example limit yourself to 500 smartforms in one spool output request.

And another option is of course to instead have an external script (i.e some PERL script) called before the file is routed just to split it into smaller parts...

Another thing. You marked the question as already answered, did you mean that?

0 Kudos

Hi Christian,

Thanks very much Christian.... I am definately answered now....

Thanks again.