Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

smart

Former Member
0 Likes
1,124

i want wt that fm_name with wt name i passs in se38 .

how this will get

FM_NAME = what i passs thsi.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,097

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

8 REPLIES 8
Read only

Former Member
0 Likes
1,097

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

Read only

Former Member
0 Likes
1,097

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.

Read only

Former Member
0 Likes
1,098

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

Read only

Former Member
0 Likes
1,097

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

Read only

Former Member
0 Likes
1,097

can any one give me the BDC in SESSIOn method

with screen shorts r any site we get session examples

Read only

0 Likes
1,097

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

Read only

Former Member
0 Likes
1,097

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

Read only

Former Member
0 Likes
1,097

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