on 05-14-2007 2:19 PM
Hi,
Can anybody please tell me " How to Call a script inside a bdc programme"
Please tell me the steps also.
Regards
Prabhudutta
Message was edited by:
Prabhudutta Behera
Hi, co means conains only..its a string comparison operator.i tried those things as well..but none is working....can ne body give the answer
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I have one query.
i have a selection-screen...i have a select-options and a parameter...
now when user gives both the interval for ebeln say and file name...then data will be transferred to file......but when user doesnt give file name.....then it will display only the data based on his selection....but not transfer to flat file.....
i have written the code like this...
at selection-screen.
if p_fname co ' '.
perform display_data.
else.
perform transfer_data.
endif.
but none of the performs are working.....pls help.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Prabhu,
*&---------------------------------------------------------------------*
*& Report ZUMA_EXAMPLE *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
REPORT ZUMA_EXAMPLE .
*&---------------------------------------------------------------------*
* TABLES DECLARATION.
*&---------------------------------------------------------------------*
TABLES: T001W,MARA.
*&---------------------------------------------------------------------*
*DATA DECLARATIONS.
*&---------------------------------------------------------------------*
DATA : Z(40) TYPE C,
V_MATNR LIKE MARA-MATNR,
V_MTART LIKE MARA-MTART,
V_MEINS LIKE MARA-MEINS,
V_NTGEW LIKE MARA-NTGEW,
V_BRGEW LIKE MARA-BRGEW,
V_GEWEI LIKE MARA-GEWEI,
V_VOLUM LIKE MARA-VOLUM,
V_VOLEH LIKE MARA-VOLEH.
*&---------------------------------------------------------------------*
*INTERNAL TABLE DECLARATIONS.
*&---------------------------------------------------------------------*
DATA : BEGIN OF IT_13709_T001W OCCURS 0,
PLANT LIKE T001W-WERKS,
NAME LIKE T001W-NAME1,
LAND LIKE T001W-LAND1,
END OF IT_13709_T001W.
DATA: BEGIN OF IT_MATERIAL OCCURS 0,
WERKS LIKE T001W-WERKS,
MATNR LIKE MARC-MATNR,
MAKTX LIKE MAKT-MAKTX,
END OF IT_MATERIAL.
DATA: IT_BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF IT_MARC OCCURS 0,
MATNR LIKE MARA-MATNR,
WERKS LIKE MARC-WERKS,
PSTAT LIKE MARC-PSTAT,
PRCTR LIKE MARC-PRCTR,
MINLS LIKE MARC-MINLS,
MAXLS LIKE MARC-MAXLS,
NAME1 LIKE T001W-NAME1,
END OF IT_MARC.
*&---------------------------------------------------------------------*
* SELECTION SCREEN.
*&---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TXT-001.
SELECT-OPTIONS: S_PLANT FOR T001W-WERKS.
SELECTION-SCREEN END OF BLOCK B1.
*&---------------------------------------------------------------------*
* START OF SELECTION
*&---------------------------------------------------------------------*
START-OF-SELECTION.
SELECT WERKS
NAME1
LAND1
FROM T001W
INTO TABLE IT_13709_T001W
WHERE WERKS IN S_PLANT.
*&---------------------------------------------------------------------*
* END OF SELECTION
*&---------------------------------------------------------------------*
END-OF-SELECTION.
LOOP AT IT_13709_T001W.
WRITE:/ '|',2 IT_13709_T001W-PLANT HOTSPOT ON,6
'|',7 IT_13709_T001W-NAME,38
'|',39 IT_13709_T001W-LAND,46 '|'.
HIDE IT_13709_T001W-PLANT.
ENDLOOP.
WRITE:/ SY-ULINE(46).
*&---------------------------------------------------------------------*
* TOP OF PAGE
*&---------------------------------------------------------------------*
TOP-OF-PAGE.
WRITE:/ SY-ULINE(46).
WRITE:/ '|',2 'PLANT',6
'|',7 'PLANT NAME',38
'|',39 'COUNTRY',46 '|'.
WRITE:/ SY-ULINE(46).
*&---------------------------------------------------------------------*
* AT LINE SELECTION
*&---------------------------------------------------------------------*
AT LINE-SELECTION.
IF SY-LSIND = 1.
GET CURSOR FIELD Z.
IF Z = 'IT_13709_T001W-PLANT'.
SELECT A~WERKS
A~MATNR
B~MAKTX
INTO TABLE IT_MATERIAL
FROM MARC AS A INNER JOIN MAKT AS B
ON A~MATNR = B~MATNR
WHERE A~WERKS = IT_13709_T001W-PLANT.
WRITE:/ SY-ULINE(20).
WRITE:/ '|',2 'PLANT',8
'|',9 'PLANT NAME',20
'|'.
WRITE:/ SY-ULINE(20).
WRITE:/ '|',2 IT_13709_T001W-PLANT,8
'|',9 IT_13709_T001W-NAME,20
'|'.
WRITE:/ SY-ULINE(20).
SKIP 4.
WRITE:/ SY-ULINE(61).
WRITE:/ '|',2 'MATERIAL NUMBER',20
'|',21 'MATERIAL DESCRIPTION',61
'|'.
WRITE:/ SY-ULINE(61).
LOOP AT IT_MATERIAL.
WRITE:/ '|',2 IT_MATERIAL-MATNR HOTSPOT ON,20
'|',21 IT_MATERIAL-MAKTX,61
'|'.
HIDE IT_MATERIAL-MATNR.
ENDLOOP.
WRITE:/ SY-ULINE(61).
ENDIF.
ELSEIF SY-LSIND = 2.
V_MATNR = IT_MATERIAL-MATNR.
CALL SCREEN 100.
ENDIF.
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'ABC'.
* SET TITLEBAR 'xxx'.
ENDMODULE. " STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
*& Module M1_PBO OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE M1_PBO OUTPUT.
MARA-MATNR = V_MATNR.
SELECT MTART
MEINS
NTGEW
BRGEW
GEWEI
VOLUM
VOLEH
FROM MARA
INTO (V_MTART,V_MEINS , V_NTGEW , V_BRGEW , V_GEWEI , V_VOLUM , V_VOLEH)
WHERE MATNR = V_MATNR.
ENDSELECT.
MARA-MTART = V_MTART.
MARA-MEINS = V_MEINS.
MARA-NTGEW = V_NTGEW.
MARA-BRGEW = V_BRGEW.
MARA-GEWEI = V_GEWEI.
MARA-VOLUM = V_VOLUM.
MARA-VOLEH = V_VOLEH.
ENDMODULE. " M1_PBO OUTPUT
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0100 INPUT.
CASE SY-UCOMM.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
WHEN 'CHG'.
IF ( MARA-MEINS = V_MEINS AND MARA-NTGEW = V_NTGEW AND MARA-BRGEW = V_BRGEW
AND MARA-GEWEI = V_GEWEI AND MARA-VOLUM = V_VOLUM AND MARA-VOLEH = V_VOLEH ).
PERFORM POPUP.
ELSE.
PERFORM CONVERSION.
PERFORM GET_BDC_DATA.
ENDIF.
WHEN 'PRIN'.
SELECT A~MATNR
A~WERKS
A~PSTAT
A~PRCTR
A~MINLS
A~MAXLS
B~NAME1
INTO TABLE IT_MARC
FROM MARC AS A INNER JOIN T001W AS B
ON A~WERKS = B~WERKS
WHERE MATNR = MARA-MATNR.
PERFORM OPEN_FORM.
PERFORM WRITE_FORM.
PERFORM CLOSE_FORM.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
*& Form GET_BDC_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GET_BDC_DATA .
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0060'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RMMG1-MATNR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTR'.
PERFORM BDC_FIELD USING 'RMMG1-MATNR'
MARA-MATNR.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0070'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(01)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTR'.
PERFORM BDC_FIELD USING 'MSICHTAUSW-KZSEL(01)'
'X'.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4004'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'BU'.
PERFORM BDC_FIELD USING 'MAKT-MAKTX'
MARA-MTART.
PERFORM BDC_FIELD USING 'MARA-MEINS'
MARA-MEINS.
PERFORM BDC_FIELD USING 'MARA-MTPOS_MARA'
'NORM'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MARA-VOLEH'.
PERFORM BDC_FIELD USING 'MARA-BRGEW'
MARA-BRGEW.
PERFORM BDC_FIELD USING 'MARA-GEWEI'
MARA-GEWEI.
PERFORM BDC_FIELD USING 'MARA-NTGEW'
MARA-NTGEW.
PERFORM BDC_FIELD USING 'MARA-VOLUM'
MARA-VOLUM.
PERFORM BDC_FIELD USING 'MARA-VOLEH'
V_VOLEH.
*perform bdc_transaction using 'MM02'.
CALL TRANSACTION 'MM02' USING IT_BDCDATA MODE 'A' UPDATE 'S'.
CLEAR IT_BDCDATA.
REFRESH IT_BDCDATA.
ENDFORM. " GET_BDC_DATA
*&---------------------------------------------------------------------*
*& Form bdc_dynpro
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_0450 text
* -->P_0451 text
*----------------------------------------------------------------------*
FORM BDC_DYNPRO USING VALUE(P_0450)
VALUE(P_0451).
IT_BDCDATA-PROGRAM = P_0450 .
IT_BDCDATA-DYNPRO = P_0451.
IT_BDCDATA-DYNBEGIN = 'X'.
APPEND IT_BDCDATA.
CLEAR IT_BDCDATA.
ENDFORM. " bdc_dynpro
*&---------------------------------------------------------------------*
*& Form bdc_field
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_0520 text
* -->P_0521 text
*----------------------------------------------------------------------*
FORM BDC_FIELD USING VALUE(P_0520)
VALUE(P_0521).
IT_BDCDATA-FNAM = P_0520.
IT_BDCDATA-FVAL = P_0521.
APPEND IT_BDCDATA.
CLEAR IT_BDCDATA.
ENDFORM. " bdc_field
*&---------------------------------------------------------------------*
*& Form CONVERSION
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM CONVERSION .
CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT'
EXPORTING
INPUT = V_VOLEH
* LANGUAGE = SY-LANGU
IMPORTING
* LONG_TEXT =
OUTPUT = V_VOLEH
* SHORT_TEXT =
* EXCEPTIONS
* UNIT_NOT_FOUND = 1
* OTHERS = 2
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " CONVERSION
*&---------------------------------------------------------------------*
*& Form POPUP
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM POPUP .
CALL FUNCTION 'POPUP_TO_DISPLAY_TEXT_LO'
EXPORTING
TITEL = 'MATERIAL DETAILS ARE NOT CHANGED '
TEXTLINE1 = 'MATERIAL IS NOT CHANGED'
* TEXTLINE2 = ' '
* TEXTLINE3 = ' '
START_COLUMN = 5
START_ROW = 6
.
ENDFORM. " POPUP
*&---------------------------------------------------------------------*
*& Form OPEN_FORM
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM OPEN_FORM .
CALL FUNCTION 'OPEN_FORM'
EXPORTING
* APPLICATION = 'TX'
* ARCHIVE_INDEX =
* ARCHIVE_PARAMS =
* DEVICE = 'PRINTER'
* DIALOG = 'X'
FORM = 'ZUMA_SCRIPTS'
* 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.
ENDFORM. " OPEN_FORM
*&---------------------------------------------------------------------*
*& Form WRITE_FORM
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM WRITE_FORM .
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'HEADER'
FUNCTION = 'SET'
TYPE = 'BODY'
WINDOW = 'MAIN'
* IMPORTING
* PENDING_LINES =
EXCEPTIONS
ELEMENT = 1
FUNCTION = 2
TYPE = 3
UNOPENED = 4
UNSTARTED = 5
WINDOW = 6
BAD_PAGEFORMAT_FOR_PRINT = 7
SPOOL_ERROR = 8
CODEPAGE = 9
OTHERS = 10
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
LOOP AT IT_MARC.
PERFORM WRITE_FORM_2.
ENDLOOP.
ENDFORM. " WRITE_FORM
*&---------------------------------------------------------------------*
*& Form CLOSE_FORM
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM CLOSE_FORM .
CALL FUNCTION 'CLOSE_FORM'
* IMPORTING
* RESULT =
* RDI_RESULT =
* TABLES
* OTFDATA =
EXCEPTIONS
UNOPENED = 1
BAD_PAGEFORMAT_FOR_PRINT = 2
SEND_ERROR = 3
SPOOL_ERROR = 4
CODEPAGE = 5
OTHERS = 6
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " CLOSE_FORM
*&---------------------------------------------------------------------*
*& Form WRITE_FORM_2
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM WRITE_FORM_2 .
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'BODY'
FUNCTION = 'SET'
TYPE = 'BODY'
WINDOW = 'MAIN'
* IMPORTING
* PENDING_LINES =
EXCEPTIONS
ELEMENT = 1
FUNCTION = 2
TYPE = 3
UNOPENED = 4
UNSTARTED = 5
WINDOW = 6
BAD_PAGEFORMAT_FOR_PRINT = 7
SPOOL_ERROR = 8
CODEPAGE = 9
OTHERS = 10
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " WRITE_FORM_2
plz look into this. plz reward if helpful
Thanks,
Suma.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
87 | |
10 | |
10 | |
10 | |
7 | |
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.