cancel
Showing results for 
Search instead for 
Did you mean: 

Output Control Conversion between SAPScript and Smartforms

former_member306083
Participant
0 Kudos

I am designing Smartforms to replace standard Sapscripts. In standard program all communication data are in the structure NAST, and then, it put into the structure ITCPO. I found two structures in Smartforms, SSFCTRLOP and SSFCOMPOP,

so I just want to know how can I convert it from ITCPO or NAST. ¿there are function modules for that?

Thank you

Accepted Solutions (0)

Answers (1)

Answers (1)

former_member306083
Participant
0 Kudos

one solution:

*&----


*

*& Form f_cargar_parametros

*&----


*

  • text

*----


*

  • -->PS_NAST text

  • -->P_XSCREEN text

  • -->PS_CONTROL_PARAM text

  • -->PS_OUTPUT_OPTIONS text

*----


*

FORM f_cargar_parametros USING ps_nast TYPE REF TO nast

p_xscreen TYPE c

p_nro_llamada TYPE n " para varias copias

CHANGING ps_control_param TYPE REF TO ssfctrlop

ps_output_options TYPE REF TO ssfcompop.

CONSTANTS:

l_primera_llamada TYPE n LENGTH 1 VALUE '1',

l_ultima_llamada TYPE n LENGTH 1 VALUE '3'

.

CREATE DATA ps_control_param.

CREATE DATA ps_output_options.

CASE p_nro_llamada.

  • 1er llamada:

WHEN l_primera_llamada.

ps_control_param->no_open = space.

ps_control_param->no_close = 'X'.

  • ultima llamada:

WHEN l_ultima_llamada.

ps_control_param->no_open = 'X'.

ps_control_param->no_close = space .

  • n-esima llamada:

WHEN OTHERS.

ps_control_param->no_open = 'X'.

ps_control_param->no_close = 'X'.

ENDCASE.

CASE nast-nacha.

WHEN '1'.

ps_control_param->device = 'PRINTER'.

WHEN '2'.

ps_control_param->device = 'TELEFAX'.

WHEN '7'.

ps_control_param->device = 'MAIL'.

WHEN OTHERS.

MESSAGE ID 'SU' TYPE 'E' NUMBER '000' WITH 'Medio de envío del mensaje'.

ENDCASE.

ps_control_param->no_dialog = 'X'.

ps_control_param->preview = space.

ps_control_param->getotf = space.

ps_control_param->langu = ps_nast->spras.

  • ps_control_param->replangu1 =

  • ps_control_param->replangu2 =

  • ps_control_param->replangu3 =

  • ps_control_param->startpage =

ps_output_options->tdteleland = ps_nast->tland.

ps_output_options->tdtelenum = ps_nast->telfx.

ps_output_options->tdtelenume = ps_nast->telfx.

ps_output_options->tdfaxuser = ps_nast->usnam.

  • ps_output_options->faxformat

ps_output_options->tdschedule = ps_nast->tdschedule.

ps_output_options->tdsenddate = ps_nast->vsdat.

ps_output_options->tdsendtime = ps_nast->vsura.

ps_output_options->bcs_reqst = ps_nast->forfb.

ps_output_options->bcs_status = ps_nast->prifb.

  • ps_output_options->bcs_commit

ps_output_options->bcs_langu = ps_nast->spras.

ps_output_options->tdarmod = ps_nast->tdarmod.

  • ps_output_options->tdnoarmch

  • ps_output_options->tdarccop

ps_output_options->tdtitle = ps_nast->tdcovtitle.

IF p_xscreen <> space.

ps_output_options->tdnoprev = 'X'.

ps_output_options->tdnoprint = 'X'.

ENDIF.

  • ps_output_options->tdnoarch

  • ps_output_options->tdiexit

ps_output_options->tddataset = ps_nast->dsnam.

ps_output_options->tdsuffix1 = ps_nast->dsuf1.

ps_output_options->tdsuffix2 = ps_nast->dsuf2.

ps_output_options->tdcovtitle = ps_nast->tdcovtitle.

ps_output_options->tddest = ps_nast->ldest.

  • ps_output_options->tdprinter

  • ps_output_options->rqposname

ps_output_options->tdnewid = 'X'.

ps_output_options->tdimmed = 'X'. " ps_nast->dimme.

ps_output_options->tddelete = space. "ps_nast->delet.

  • ps_output_options->tdlifetime

ps_output_options->tdautority = ps_nast->tdautority.

  • ps_output_options->tdfinal

  • ps_output_options->sponumiv

ps_output_options->tdcover = ps_nast->tdocover.

ps_output_options->tdreceiver = ps_nast->tdreceiver.

ps_output_options->tddivision = ps_nast->tddivision.

ps_output_options->tdcopies = 1. " ps_nast->anzal.

  • ps_output_options->tdgroup

  • ps_output_options->tdpageslct

  • ps_output_options->urlcall

  • ps_output_options->xsfcmode

  • ps_output_options->xsf

  • ps_output_options->xsfoutmode

  • ps_output_options->xsfoutdev

  • ps_output_options->xsfformat

  • ps_output_options->xsfaction

  • ps_output_options->xsfpars

  • ps_output_options->xdfcmode

  • ps_output_options->xdf

  • ps_output_options->xdfoutmode

  • ps_output_options->xdfoutdev

  • ps_output_options->xdf2cmode

  • ps_output_options->xdf2

  • ps_output_options->xdf2outmode

  • ps_output_options->xdf2outdev

  • Si no esta definida en el customizing, tomo la impresora del usr

IF ps_nast->ldest <> space.

SELECT SINGLE spld

FROM usr01

INTO ps_output_options->tddest

WHERE bname EQ sy-uname.

ENDIF.

ENDFORM. "f_cargar_parametros