on 12-10-2007 1:21 PM
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
89 | |
10 | |
9 | |
9 | |
9 | |
6 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.