‎2007 Jul 02 10:13 AM
i want wt that fm_name with wt name i passs in se38 .
how this will get
FM_NAME = what i passs thsi.
‎2007 Jul 02 10:22 AM
HI
call function FM_NAME
EXPORTING
ARCHIVE_INDEX =
ARCHIVE_INDEX_TAB =
ARCHIVE_PARAMETERS =
CONTROL_PARAMETERS =
MAIL_APPL_OBJ =
MAIL_RECIPIENT =
MAIL_SENDER =
OUTPUT_OPTIONS =
USER_SETTINGS = 'X'
IMPORTING
DOCUMENT_OUTPUT_INFO =
JOB_OUTPUT_INFO =
JOB_OUTPUT_OPTIONS =
TABLES
GS_MKPF = INT_MKPF
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.
endif.
Reward all helpfull answers.
Regards.
Jay
‎2007 Jul 02 10:18 AM
Hi
write the code in Se 38 and keep a break point on the line
call function FM_NAME and see the field value FM_NAME
you will know the generated fun module name
TABLES: MKPF.
DATA: FM_NAME TYPE RS38L_FNAM.
DATA: BEGIN OF INT_MKPF OCCURS 0.
INCLUDE STRUCTURE MKPF.
DATA: END OF INT_MKPF.
SELECT-OPTIONS S_MBLNR FOR MKPF-MBLNR MEMORY ID 001.
SELECT * FROM MKPF WHERE MBLNR IN S_MBLNR.
MOVE-CORRESPONDING MKPF TO INT_MKPF.
APPEND INT_MKPF.
ENDSELECT.
At the end of your program.
Passing data to SMARTFORMS
call function 'SSF_FUNCTION_MODULE_NAME'
exporting
formname = 'ZSMARTFORM'
VARIANT = ' '
DIRECT_CALL = ' '
IMPORTING
FM_NAME = FM_NAME
EXCEPTIONS
NO_FORM = 1
NO_FUNCTION_MODULE = 2
OTHERS = 3.
if sy-subrc <> 0.
WRITE: / 'ERROR 1'.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
<b>call function FM_NAME</b>
EXPORTING
ARCHIVE_INDEX =
ARCHIVE_INDEX_TAB =
ARCHIVE_PARAMETERS =
CONTROL_PARAMETERS =
MAIL_APPL_OBJ =
MAIL_RECIPIENT =
MAIL_SENDER =
OUTPUT_OPTIONS =
USER_SETTINGS = 'X'
IMPORTING
DOCUMENT_OUTPUT_INFO =
JOB_OUTPUT_INFO =
JOB_OUTPUT_OPTIONS =
TABLES
GS_MKPF = INT_MKPF
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.
endif.
Reward points for useful Answers
Regards
Anji
‎2007 Jul 02 10:20 AM
Hi..,
define lf_fm_name......
DATA: LF_FM_NAME TYPE RS38L_FNAM.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING FORMNAME = LF_FORMNAME "<<<== smartform name
variant = ' '
direct_call = ' '
IMPORTING FM_NAME = LF_FM_NAME "<u><<== no need to pass anything here.. this variable receives the function module name generated by the smartform
EXCE</u>PTIONS NO_FORM = 1
NO_FUNCTION_MODULE = 2
OTHERS = 3.
CALL FUNCTION LF_FM_NAME
EXPORTING
ARCHIVE_INDEX = TOA_DARA
ARCHIVE_PARAMETERS = ARC_PARAMS
CONTROL_PARAMETERS = LS_CONTROL_PARAM
MAIL_RECIPIENT = LS_RECIPIENT
MAIL_SENDER = LS_SENDER
OUTPUT_OPTIONS = LS_COMPOSER_PARAM
USER_SETTINGS = SPACE
IS_BIL_INVOICE = LS_BIL_INVOICE
IS_NAST = NAST
IS_REPEAT = REPEAT
Begin of Add on 05/16/2007 - R3DK900502
IMPORTING
JOB_OUTPUT_INFO = FS_RETURN
End of Add on 05/30/2007 - R3DK900502
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4
NO_ITEMS_TO_PRINT = 5
OTHERS = 6.
‎2007 Jul 02 10:22 AM
HI
call function FM_NAME
EXPORTING
ARCHIVE_INDEX =
ARCHIVE_INDEX_TAB =
ARCHIVE_PARAMETERS =
CONTROL_PARAMETERS =
MAIL_APPL_OBJ =
MAIL_RECIPIENT =
MAIL_SENDER =
OUTPUT_OPTIONS =
USER_SETTINGS = 'X'
IMPORTING
DOCUMENT_OUTPUT_INFO =
JOB_OUTPUT_INFO =
JOB_OUTPUT_OPTIONS =
TABLES
GS_MKPF = INT_MKPF
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.
endif.
Reward all helpfull answers.
Regards.
Jay
‎2007 Jul 02 10:22 AM
Hi,
Open your smartform in tcode -> Smartforms
Open menu --> Environment
Click on Function Module name
you will see information tab --> copy the function module name from here
give that function module name in your code in SE38.
call this function module by clicking on pattern button in SE38.
Reward, if helpful,
Sandeep Kaushik
Message was edited by:
Sandeep Kaushik
‎2007 Jul 02 10:26 AM
can any one give me the BDC in SESSIOn method
with screen shorts r any site we get session examples
‎2007 Jul 02 10:29 AM
hi Amarender vundyala,
data: &----
& Include MZSANKET_BDC_1TOP Module poo
*& *
&----
PROGRAM SAPMZSANKET_BDC_1 .
TABLES: VBAK,VBAP,VBKD.
DATA: F_PLANT TYPE RV45A-DWERK,
L_QUANT(6).
DATA: T_BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
DATA: T_MSG LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
DATA: OK_CODE TYPE SY-DYNNR.
DATA: BEGIN OF T_DATA OCCURS 0,
LINE(225),
END OF T_DATA.
DATA: SCR TYPE SY-DYNNR VALUE '0110'.
&----
*& Module STATUS_0100 OUTPUT
&----
text
----
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'SANKET'.
SET TITLEBAR 'MAIN'.
ENDMODULE. " STATUS_0100 OUTPUT
&----
*& Include MZSANKET_BDC_1I01 *
&----
&----
*& Module USER_COMMAND_0100 INPUT
&----
text
----
MODULE USER_COMMAND_0100 INPUT.
DATA: L_DATE(10).
CASE OK_CODE.
WHEN 'CREA'.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = '
vikalp-020\Shared\SANKET\ZTEST.TXT'
FILETYPE = 'ASC'
TABLES
DATA_TAB = T_DATA
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_READ_ERROR = 2
NO_BATCH = 3
GUI_REFUSE_FILETRANSFER = 4
INVALID_TYPE = 5
NO_AUTHORITY = 6
UNKNOWN_ERROR = 7
BAD_DATA_FORMAT = 8
HEADER_NOT_ALLOWED = 9
SEPARATOR_NOT_ALLOWED = 10
HEADER_TOO_LONG = 11
UNKNOWN_DP_ERROR = 12
ACCESS_DENIED = 13
DP_OUT_OF_MEMORY = 14
DISK_FULL = 15
DP_TIMEOUT = 16
OTHERS = 17.
LOOP AT T_DATA.
SPLIT T_DATA-LINE AT SPACE INTO
VBAK-AUART VBAK-VKORG VBAK-VTWEG
VBAK-SPART VBAK-KUNNR F_PLANT VBKD-BSTKD L_DATE VBAP-MATNR L_QUANT.
PERFORM BDC_DYNPRO USING 'SAPMV45A' '0101'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'VBAK-AUART'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'VBAK-AUART'
VBAK-AUART.
PERFORM BDC_FIELD USING 'VBAK-VKORG'
VBAK-VKORG.
PERFORM BDC_FIELD USING 'VBAK-VTWEG'
VBAK-VTWEG.
PERFORM BDC_FIELD USING 'VBAK-SPART'
VBAK-SPART.
PERFORM BDC_DYNPRO USING 'SAPMV45A' '4001'.
PERFORM BDC_FIELD USING 'VBKD-BSTKD'
VBKD-BSTKD.
PERFORM BDC_FIELD USING 'VBKD-BSTDK'
L_DATE.
*.................
PERFORM BDC_FIELD USING 'KUAGV-KUNNR'
'3002'.
PERFORM BDC_FIELD USING 'KUWEV-KUNNR'
'3002'.
*..........
PERFORM BDC_FIELD USING 'RV45A-DWERK'
F_PLANT.
PERFORM BDC_FIELD USING 'RV45A-DWERK'
F_PLANT.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RV45A-MABNR(01)'.
PERFORM BDC_FIELD USING 'RV45A-MABNR(01)'
'MAT1'.
PERFORM BDC_FIELD USING 'RV45A-KWMENG(01)'
L_QUANT.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_DYNPRO USING 'SAPMV45A' '4001'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=SICH'.
CALL TRANSACTION 'VA01' USING T_BDCDATA
MODE 'E'
UPDATE 'A'
MESSAGES INTO T_MSG.
ENDLOOP.
WHEN 'EXIT'.
LEAVE TO SCREEN 0110.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
&----
*& Module USER_COMMAND_0200 INPUT
&----
text
----
MODULE USER_COMMAND_0200 INPUT.
CASE OK_CODE.
WHEN 'EXIT'.
LEAVE TO SCREEN 0110.
WHEN 'CREA'.
PERFORM BDC_DYNPRO USING 'SAPMV45A' '0101'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'VBAK-AUART'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'VBAK-AUART'
'OR'.
PERFORM BDC_FIELD USING 'VBAK-VKORG'
'5555'.
PERFORM BDC_FIELD USING 'VBAK-VTWEG'
'55'.
PERFORM BDC_FIELD USING 'VBAK-SPART'
'55'.
PERFORM BDC_DYNPRO USING 'SAPMV45A' '4001'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'PICK'.
PERFORM BDC_FIELD USING 'VBKD-BSTKD'
'5555'.
PERFORM BDC_FIELD USING 'VBKD-BSTDK'
'2007/04/18'.
PERFORM BDC_FIELD USING 'KUAGV-KUNNR'
'3002'.
PERFORM BDC_FIELD USING 'KUWEV-KUNNR'
'3002'.
PERFORM BDC_FIELD USING 'VBAK-LIFSK'
'03'.
PERFORM BDC_FIELD USING 'VBAK-FAKSK'
'01'.
PERFORM BDC_FIELD USING 'VBKD-PRSDT'
'2007/04/24'.
PERFORM BDC_FIELD USING 'VBKD-ZTERM'
'0001'.
PERFORM BDC_FIELD USING 'VBAK-AUGRU'
'460'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RV45A-MABNR(01)'.
PERFORM BDC_FIELD USING 'RV45A-MABNR(01)'
'MAT1'.
PERFORM BDC_FIELD USING 'RV45A-KWMENG(01)'
' 1'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_DYNPRO USING 'SAPMV45A' '4001'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'VBKD-BSTKD'
'5555'.
PERFORM BDC_FIELD USING 'VBKD-BSTDK'
'2007/04/18'.
PERFORM BDC_FIELD USING 'KUAGV-KUNNR'
'3002'.
PERFORM BDC_FIELD USING 'KUWEV-KUNNR'
'3002'.
PERFORM BDC_FIELD USING 'VBAK-LIFSK'
'03'.
PERFORM BDC_FIELD USING 'VBAK-FAKSK'
'01'.
PERFORM BDC_FIELD USING 'VBKD-PRSDT'
'2007/04/24'.
PERFORM BDC_FIELD USING 'VBKD-ZTERM'
'0001'.
PERFORM BDC_FIELD USING 'VBKD-INCO1'
'CFR'.
PERFORM BDC_FIELD USING 'VBKD-INCO2'
'delhi'.
PERFORM BDC_FIELD USING 'VBAK-AUGRU'
'460'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RV45A-KWMENG(01)'.
PERFORM BDC_DYNPRO USING 'SAPMV45A' '4001'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=SICH'.
PERFORM BDC_FIELD USING 'VBKD-BSTKD'
'5555'.
PERFORM BDC_FIELD USING 'VBKD-BSTDK'
'2007/04/18'.
PERFORM BDC_FIELD USING 'KUAGV-KUNNR'
'3002'.
PERFORM BDC_FIELD USING 'KUWEV-KUNNR'
'3002'.
PERFORM BDC_FIELD USING 'VBAK-LIFSK'
'03'.
PERFORM BDC_FIELD USING 'VBAK-FAKSK'
'01'.
PERFORM BDC_FIELD USING 'VBKD-PRSDT'
'2007/04/24'.
PERFORM BDC_FIELD USING 'VBKD-ZTERM'
'0001'.
PERFORM BDC_FIELD USING 'VBKD-INCO1'
'CFR'.
PERFORM BDC_FIELD USING 'VBKD-INCO2'
'delhi'.
PERFORM BDC_FIELD USING 'VBAK-AUGRU'
'460'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RV45A-MABNR(02)'.
CALL TRANSACTION 'VA01' USING T_BDCDATA
MODE 'E'
UPDATE 'A'
MESSAGES INTO T_MSG.
ENDCASE.
ENDMODULE. " USER_COMMAND_0200 INPUT
*********************************************************
if helpful reward-Points
‎2007 Jul 02 10:27 AM
Hi,
r u talking about the Smartform..
<b>use SSF_FUNCTIOON_MODULE_NAME..</b>
DATA: c_form_un TYPE tdsfname VALUE 'ZGXXI_UNPLORD_SF',
lf_formname = c_form_un.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = lf_formname
IMPORTING
fm_name = lf_fm_name
EXCEPTIONS
no_form = 1
no_function_module = 2
OTHERS = 3.
IF sy-subrc <> 0.
...
ENDIF.
Sap does this for you..When you create a smartform and activate you will get a functionmodule name..Sap automatically provides the FM name..
Here also the same case when you write the code in SE38 and call the SSF_SUNCTION_MODULE_NAME, Sap gives you the function module name of your custom Smartfoirm..
rewards if understood,
regards,
nazeer
‎2007 Jul 02 11:27 AM
Hi amarender,
Do code like this in se38, actually FM_NAME PROGRAM will be in F
TABLES : EBAN,ZSEN_PURSREG,
ZEBEN1,LFA1,T024.
DATA : ITAB LIKE EBAN OCCURS 0 WITH HEADER LINE,
HTAB LIKE ZSEN_PURSREG OCCURS 0 WITH HEADER LINE,
DTAB LIKE ZEBEN1 OCCURS 0 WITH HEADER LINE.
DATA : FM_NAME TYPE RS38L_FNAM,
BANFN LIKE EBAN-BANFN.
DATA : WA_LFA1 LIKE LFA1,
WA_T024 LIKE T024.
DATA : COUNT TYPE I VALUE 1,
LCOUNT LIKE EBAN-BANFN.
SELECT-OPTIONS: PRNO FOR EBAN-BANFN,
EKGRP FOR EBAN-EKGRP.
START-OF-SELECTION.
PERFORM GETDATA.
PERFORM ARRIVEDATA.
PERFORM FUNC.
FORM GETDATA.
SELECT * FROM EBAN INTO TABLE ITAB WHERE BANFN IN PRNO AND EKGRP IN
EKGRP.
ENDFORM.
FORM ARRIVEDATA.
LOOP AT ITAB.
MOVE-CORRESPONDING ITAB TO HTAB.
APPEND HTAB.
IF ITAB-BANFN <> LCOUNT.
COUNT = 1.
ENDIF.
MOVE COUNT TO DTAB-SNO.
COUNT = COUNT + 1.
LCOUNT = ITAB-BANFN.
MOVE-CORRESPONDING ITAB TO DTAB.
APPEND DTAB.
SELECT * FROM LFA1 INTO WA_LFA1 WHERE WERKS = ITAB-WERKS.
MOVE-CORRESPONDING WA_LFA1 TO DTAB.
ENDSELECT.
SELECT * FROM T024 INTO WA_T024 WHERE EKGRP = ITAB-EKGRP.
HTAB-PURGRP = WA_T024-EKGRP.
ENDSELECT.
ENDLOOP.
SORT HTAB BY BANFN.
DELETE ADJACENT DUPLICATES FROM HTAB COMPARING BANFN.
LOOP AT HTAB.
MOVE HTAB-BANFN TO BANFN.
ENDLOOP.
SORT DTAB BY BANFN SNO.
ENDFORM.
FORM FUNC.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME = 'ZSEN_PURREQ3'
IMPORTING
FM_NAME = FM_NAME
EXCEPTIONS
NO_FORM = 1
NO_FUNCTION_MODULE = 2
OTHERS = 3.
CALL FUNCTION FM_NAME
EXPORTING
BANFN = BANFN
TABLES
HTAB = HTAB
DTAB = DTAB
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4.
ENDFORM.
If its solved reward points
thanks
senthil