2007 Mar 09 12:55 PM
call function 'smartform name' - getting import parameter null:
I HAVE DEFINE IMPORT PARAMETER AS UNDER BUT GETTING NULL VALUE WHILE DEBURGING,
WHY IT SHOWING NULL, AND HOW TO GET RELAVENT VALUE FROM TAHT?
CODE IS***************************
DATA:l_doc_output_info TYPE ssfcrespd, "#EC NEEDED
tab_otf_data TYPE ssfcrescl, "#EC NEEDED
l_job_output_options TYPE ssfcresop, "#EC NEEDED
CALL FUNCTION '/1BCDWB/SF00000110'
EXPORTING ....
IMPORTING
DOCUMENT_OUTPUT_INFO = l_doc_output_info
JOB_OUTPUT_INFO = tab_otf_data
JOB_OUTPUT_OPTIONS = l_job_output_options
TABLE .....
*************************
IF U CAN..
REGARDS,
.
2007 Mar 13 5:57 AM
hi scruz,
just try following code,
FORM call_form .
DATA: wa_output TYPE zinv_str,
gt_header TYPE TABLE OF zinv_str_head,
gt_temp TYPE TABLE OF zinv_str_item,
wa_header TYPE zinv_str_head,
l_lines TYPE i,
l_tabix TYPE sy-tabix,
l_ssfctrlop TYPE ssfctrlop.
*****first call this FM where u can pass ur smartforms name into it then u can import one Fm..
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = 'ZINV_FORM1'
VARIANT = ' '
DIRECT_CALL = ' '
IMPORTING
fm_name = <b>sf_name.</b>
EXCEPTIONS
NO_FORM = 1
NO_FUNCTION_MODULE = 2
OTHERS = 3
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CLEAR g_tot_tab[].
g_tot_tab[] = gt_output[].
gt_temp[] = gt_output[].
DELETE ADJACENT DUPLICATES FROM gt_header COMPARING order_number.
DESCRIBE TABLE g_head_itab LINES l_lines.
gt_temp[] = g_item_itab[].
LOOP AT g_tot_tab INTO g_tot_wa.
g_item_itab[] = gt_temp[].
DELETE g_item_itab WHERE vbeln NE g_tot_wa-vbeln.
LOOP AT g_item_itab INTO g_item_wa.
MOVE: sy-tabix TO g_item_wa-sino.
MODIFY g_item_itab FROM g_item_wa.
ENDLOOP.
ADD 1 TO l_tabix.
IF l_tabix GT 1 AND l_tabix LE l_lines.
l_ssfctrlop-no_open = 'X'.
ENDIF.
IF l_tabix EQ l_lines.
l_ssfctrlop-no_close = space.
ELSE.
l_ssfctrlop-no_close = 'X'.
ENDIF.
*****here u can call samrtfroms FM once then u can replace that with ur imported FM above..
and also here u can pass ur data itab into this as mentioned below..
CALL FUNCTION <b>sf_name</b>
EXPORTING
ARCHIVE_INDEX =
ARCHIVE_INDEX_TAB =
ARCHIVE_PARAMETERS =
control_parameters = g_cont_par
mail_appl_obj = g_mail_app_obj
mail_recipient = g_mail_rec_obj
mail_sender = g_mail_sen_obj
output_options = g_output
USER_SETTINGS = 'X'
is_inv_header = g_tot_wa
IMPORTING
DOCUMENT_OUTPUT_INFO =
job_output_info = ssfcrescl
JOB_OUTPUT_OPTIONS =
TABLES
l_itab = g_item_itab
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4
OTHERS = 5
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE.
COMMIT WORK.
WAIT UP TO 2 SECONDS.
SUBMIT rsconn01 WITH mode = 'INT'
WITH output = ' '
AND RETURN.
ENDIF.
APPEND LINES OF ssfcrescl-otfdata TO final_ssfcrescl-otfdata.
ENDLOOP.
ENDFORM. "call_form