on 06-04-2008 6:50 AM
Hi
Can anybody give me following codes(easy to understand):
1) A sample Driver program for SAP script, copied from ANY Standard program.
2) And Related SAP script program producing script output.
I want this to understand where should I put my Z Form Routine in the Driver program.
Please let me know soon.
Regards
Tulip
Edited by: Tulip Shah on Jun 4, 2008 8:15 AM
HII,
CALL FUNCTION 'OPEN_FORM'
EXPORTING
APPLICATION = 'TX'
ARCHIVE_INDEX =
ARCHIVE_PARAMS =
DEVICE = 'PRINTER'
DIALOG = 'X'
FORM = 'ZVF_INVENTRY_LST' LANGUAGE = SY-LANGU
OPTIONS =
MAIL_SENDER =
MAIL_RECIPIENT =
MAIL_APPL_OBJECT =
RAW_DATA_INTERFACE = '*'
SPONUMIV =
IMPORTING
LANGUAGE =
NEW_ARCHIVE_PARAMS =
RESULT =
EXCEPTIONS
CANCELED = 1
DEVICE = 2
FORM = 3
OPTIONS = 4
UNCLOSED = 5
MAIL_OPTIONS = 6
ARCHIVE_ERROR = 7
INVALID_FAX_NUMBER = 8
MORE_PARAMS_NEEDED_IN_BATCH = 9
SPOOL_ERROR = 10
CODEPAGE = 11
OTHERS = 12
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
here 'ZVF_INVENTRY_LST' is my form name..just use this way and it will open your form.
reward points if useful.
thx,
twinkal.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello.
This is an example on how do call the script from a program.
PARAMETERS: p_tddest LIKE itcpo-tddest OBLIGATORY.
...
***********************************************************************
* Form f_imprime
***********************************************************************
FORM f_imprime.
* Declaração de tabelas internas locais
DATA: t_itcpo LIKE itcpo OCCURS 0 WITH HEADER LINE,
l_prdha LIKE mara-prdha.
* Atribuição de parâmetros para impressão
t_itcpo-tdcopies = p_copias.
t_itcpo-tddest = p_tddest.
t_itcpo-tdimmed = 'X'.
t_itcpo-tddelete = 'X'.
**************** OPEN FORM *****************
CALL FUNCTION 'OPEN_FORM'
EXPORTING
device = 'PRINTER'
dialog = ' '
form = 'ZLSDVDO07'
language = 'P'
options = t_itcpo
EXCEPTIONS
canceled = 1
device = 2
form = 3
options = 4
unclosed = 5
mail_options = 6
archive_error = 7
more_params_needed_in_batch = 9
spool_error = 10
OTHERS = 11.
IF sy-subrc <> 0.
CASE sy-subrc.
WHEN 4.
MESSAGE ID 'ZSD2' TYPE 'E' NUMBER '001'
WITH 'erro nos parâmetros de impressão'.
WHEN 10.
MESSAGE ID 'ZSD2' TYPE 'E' NUMBER '001'
WITH 'erro de spool'.
WHEN OTHERS.
MESSAGE ID 'ZSD2' TYPE 'E' NUMBER '001'
WITH 'formulário não foi aberto'.
ENDCASE.
ENDIF.
* Cabeçalho do catálogo
w_data = sy-datum.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'HEADER_CATALOGO'
type = 'BODY'
window = 'MAIN'
EXCEPTIONS
element = 1
function = 2
type = 3
unopened = 4
unstarted = 5
window = 6
bad_pageformat_for_print = 7
spool_error = 8
OTHERS = 9.
**** POS
IF sy-tcode EQ 'ZSD052'.
l_prdha = 'VDO'.
w_mudou_hier = 'N'.
CASE 'X'.
WHEN p_mater.
SORT ti_int BY prdha matnr.
WHEN p_descr.
SORT ti_int BY prdha maktx.
WHEN OTHERS.
ENDCASE.
* Linha a linha
LOOP AT ti_int INTO wa_int.
IF l_prdha NE wa_int-prdha.
w_mudou_hier = 'S'.
ELSE.
w_mudou_hier = 'N'.
ENDIF.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'ITEM_POS'
type = 'BODY'
window = 'MAIN'
EXCEPTIONS
element = 1
function = 2
type = 3
unopened = 4
unstarted = 5
window = 6
bad_pageformat_for_print = 7
spool_error = 8
OTHERS = 9.
l_prdha = wa_int-prdha.
ENDLOOP.
**** TFP's
ELSE.
DATA: l_resto TYPE i,
l_div TYPE i.
DESCRIBE TABLE ti_docs LINES sy-tabix.
* Estas contas tém em atenção q a 1ª pagina tem 6 linhas
* e as outras têm 7
l_div = ( sy-tabix - 6 ) DIV 7.
l_resto = ( sy-tabix - 6 ) MOD 7.
IF l_resto = 0.
w_total_pag = l_div + 1.
ELSE.
w_total_pag = l_div + 2.
ENDIF.
* Linha a linha
LOOP AT ti_docs INTO wa_docs.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'ITEM_TFP'
type = 'BODY'
window = 'MAIN'
EXCEPTIONS
element = 1
function = 2
type = 3
unopened = 4
unstarted = 5
window = 6
bad_pageformat_for_print = 7
spool_error = 8
OTHERS = 9.
ENDLOOP.
ENDIF.
********************** CLOSE FORM ***********************
CALL FUNCTION 'CLOSE_FORM'
EXCEPTIONS
unopened = 1
bad_pageformat_for_print = 2
send_error = 3
spool_error = 4
OTHERS = 5.
CHECK sy-subrc <> 0.
CASE sy-subrc.
WHEN 2.
MESSAGE ID 'ZSD2' TYPE 'E' NUMBER '001'
WITH 'erro no formato da página'.
WHEN 4.
MESSAGE ID 'ZSD2' TYPE 'E' NUMBER '001'
WITH 'erro de spool'.
WHEN OTHERS.
MESSAGE ID 'ZSD2' TYPE 'E' NUMBER '001'
WITH 'não foi possível fechar o formulário'.
ENDCASE.
ENDFORM. " f_imprime
Regards.
Valter Oliveira.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
84 | |
10 | |
10 | |
9 | |
7 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.