2006 Oct 20 4:36 PM
Hi all,
can any body please send me example for BDC BACK ground process
thanks in advance
Ranjith
Hi all,
can any body please send me example for BDC BACK ground process
thanks in advance
Ranjith
2006 Oct 20 4:41 PM
This is a especific function that show how BDC works:
FUNCTION z_change_packaging_data.
*"----
""Local interface:
*" IMPORTING
*" VALUE(IDOC_NUMBER) LIKE EDIDC-DOCNUM
*" VALUE(SALES_ORDER) LIKE VBAP-VBELN OPTIONAL
*" EXPORTING
*" REFERENCE(STATUS) TYPE C
*" TABLES
*" IT_MESS STRUCTURE BDCMSGCOLL
*" IT_EDIDD STRUCTURE EDIDD OPTIONAL
*"----
DATA: w_z1edk00 TYPE z1edk00,
w_zavbap TYPE zavbap,
w_numint TYPE i,
w_check TYPE c.
clean
REFRESH bdcdata.
read idoc data
IF it_edidd[] IS INITIAL.
CALL FUNCTION 'IDOC_READ_COMPLETELY'
EXPORTING
document_number = idoc_number
TABLES
int_edidd = it_edidd.
ENDIF.
get idoc data
READ TABLE it_edidd WITH KEY segnam = 'Z1EDK00'.
MOVE it_edidd-sdata TO w_z1edk00.
MOVE w_z1edk00-zzpck TO w_zavbap-zzcodepack.
MOVE w_z1edk00-spq TO w_numint.
MOVE w_numint TO w_zavbap-zzstpackqty.
MOVE w_z1edk00-cat1 TO w_zavbap-zzcat1cont.
MOVE w_z1edk00-shelflife TO w_zavbap-zzshelflife.
MOVE w_z1edk00-haz TO w_zavbap-zzcodemd.
MOVE w_z1edk00-tariffno TO w_zavbap-zzcustarif.
insert idoc packing data in sales order data
PERFORM bdc_dynpro USING 'SAPMV45A' '0102'.
PERFORM bdc_field USING 'BDC_CURSOR' 'VBAK-VBELN'.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
PERFORM bdc_field USING 'VBAK-VBELN' sales_order.
PERFORM bdc_dynpro USING 'SAPMV45A' '4001'.
PERFORM bdc_field USING 'BDC_OKCODE' '=PZKU'.
PERFORM bdc_field USING 'BDC_CURSOR' 'VBAP-POSNR(01)'.
PERFORM bdc_field USING 'RV45A-VBAP_SELKZ(01)' 'X'.
PERFORM bdc_dynpro USING 'SAPMV45A' '4003'.
PERFORM bdc_field USING 'BDC_OKCODE' '=SICH'.
PERFORM bdc_field USING 'VBAP-ZZCODEPACK' w_zavbap-zzcodepack.
PERFORM bdc_field USING 'VBAP-ZZSTPACKQTY' w_zavbap-zzstpackqty.
PERFORM bdc_field USING 'VBAP-ZZCAT1CONT' w_zavbap-zzcat1cont.
PERFORM bdc_field USING 'VBAP-ZZSHELFLIFE' w_zavbap-zzshelflife.
PERFORM bdc_field USING 'VBAP-ZZCODEMD' w_zavbap-zzcodemd.
PERFORM bdc_field USING 'VBAP-ZZCUSTARIF' w_zavbap-zzcustarif.
w_check = 'X'.
SET PARAMETER ID 'ZPACK' FIELD w_check.
CALL TRANSACTION 'VA02' USING bdcdata
MODE 'N'
UPDATE 'S'
MESSAGES INTO it_mess.
CLEAR w_check.
SET PARAMETER ID 'ZPACK' FIELD w_check.
LOOP AT it_mess WHERE msgid = 'V1'.
IF it_mess-msgnr = '260'
OR it_mess-msgnr = '261'
OR it_mess-msgnr = '311'.
sales order well changed
status = 'X'.
EXIT.
ENDIF.
ENDLOOP.
ENDFUNCTION.
----
Form BDC_DYNPRO Calls the program and the screen in CT *
----
FORM bdc_dynpro USING program dynpro.
CLEAR bdcdata.
bdcdata-program = program.
bdcdata-dynpro = dynpro.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
ENDFORM.
----
Form BDC_FIELD Insert Data into Field in the CT Screens *
----
FORM bdc_field USING fnam fval.
IF NOT ( fval IS INITIAL ).
CLEAR bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
APPEND bdcdata.
ENDIF.
ENDFORM.
2006 Oct 20 4:50 PM
Hi Rui Almeida
I want bdc for back ground is it that program
Ranjith
2006 Oct 20 4:55 PM
This program is an example to call a transaction using bach input in background.
To save a transc record you must use transaction SHDB.
2006 Oct 20 4:58 PM
Hi Ranjith,
Here is a BDC program used for creating SAP users with profiles, address, defaults, and parameters
REPORT ZSAPUSER.
TABLES: USR02.
DATA: BEGIN OF BDC_TAB1 OCCURS 5.
INCLUDE STRUCTURE BDCDATA.
DATA: END OF BDC_TAB1.
DATA: USER(12) VALUE 'DDDDDDDD',
INI_PWD(8) VALUE 'INIT',
DIALOG VALUE 'X',
PROFILE1(12) VALUE 'SAP_ALL',
PROFILE2(12) VALUE 'SAP_NEW',
FULL_NAME(30) VALUE 'Full name',
PRINT_IMMED VALUE 'X',
PRINTER_NAME(4) VALUE 'SISK',
PARAMETER(3) VALUE 'RID',
PAR_VAL(18) VALUE 'YUSERADD'.
START-OF-SELECTION.
PERFORM CREATE_USER.
CALL TRANSACTION 'SU01' USING BDC_TAB1 MODE 'N' UPDATE 'S'.
PERFORM ADD_ADDRESS_DATA.
CALL TRANSACTION 'SU01' USING BDC_TAB1 MODE 'N' UPDATE 'S'.
PERFORM ADD_DEFAULTS.
CALL TRANSACTION 'SU01' USING BDC_TAB1 MODE 'N' UPDATE 'S'.
PERFORM ADD_PARAMS.
CALL TRANSACTION 'SU01' USING BDC_TAB1 MODE 'N' UPDATE 'S'.
----
FORM CREATE_USER *
----
........ *
----
FORM CREATE_USER.
REFRESH BDC_TAB1.
CLEAR BDC_TAB1.
**************************************************1
MOVE: 'SAPMS01J' TO BDC_TAB1-PROGRAM,
'200' TO BDC_TAB1-DYNPRO,
'X' TO BDC_TAB1-DYNBEGIN.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
MOVE: 'XU200-XUSER' TO BDC_TAB1-FNAM,
USER TO BDC_TAB1-FVAL.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
MOVE: 'BDC_OKCODE' TO BDC_TAB1-FNAM,
'/6' TO BDC_TAB1-FVAL.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
**************************************************2
MOVE: 'SAPLSUSB' TO BDC_TAB1-PROGRAM,
'0705' TO BDC_TAB1-DYNPRO,
'X' TO BDC_TAB1-DYNBEGIN.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
MOVE: 'XU213-BCODE' TO BDC_TAB1-FNAM,
INI_PWD TO BDC_TAB1-FVAL.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
MOVE: 'XU213-BCODE2' TO BDC_TAB1-FNAM,
INI_PWD TO BDC_TAB1-FVAL.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
MOVE: 'XU213-DIA' TO BDC_TAB1-FNAM,
DIALOG TO BDC_TAB1-FVAL.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
MOVE: 'XU213-PROFILE(1)' TO BDC_TAB1-FNAM,
PROFILE1 TO BDC_TAB1-FVAL.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
MOVE: 'XU213-PROFILE(2)' TO BDC_TAB1-FNAM,
PROFILE2 TO BDC_TAB1-FVAL.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
MOVE: 'BDC_OKCODE' TO BDC_TAB1-FNAM,
'/5' TO BDC_TAB1-FVAL.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
**************************************************3
MOVE: 'SAPLSUSB' TO BDC_TAB1-PROGRAM,
'701' TO BDC_TAB1-DYNPRO,
'X' TO BDC_TAB1-DYNBEGIN.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
MOVE: 'BDC_OKCODE' TO BDC_TAB1-FNAM,
'CONT' TO BDC_TAB1-FVAL.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
**************************************************4
MOVE: 'SAPLSUSB' TO BDC_TAB1-PROGRAM,
'702' TO BDC_TAB1-DYNPRO,
'X' TO BDC_TAB1-DYNBEGIN.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
MOVE: 'BDC_OKCODE' TO BDC_TAB1-FNAM,
'CONT' TO BDC_TAB1-FVAL.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
**************************************************5
MOVE: 'SAPLSUSB' TO BDC_TAB1-PROGRAM,
'703' TO BDC_TAB1-DYNPRO,
'X' TO BDC_TAB1-DYNBEGIN.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
MOVE: 'BDC_OKCODE' TO BDC_TAB1-FNAM,
'/12' TO BDC_TAB1-FVAL.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
**************************************************6
MOVE: 'SAPMS01J' TO BDC_TAB1-PROGRAM,
'200' TO BDC_TAB1-DYNPRO,
'X' TO BDC_TAB1-DYNBEGIN.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
MOVE: 'BDC_OKCODE' TO BDC_TAB1-FNAM,
'/3' TO BDC_TAB1-FVAL.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
ENDFORM.
----
FORM GENERATE_BDC_DATA_CR *
----
........ *
----
FORM ADD_ADDRESS_DATA.
REFRESH BDC_TAB1.
CLEAR BDC_TAB1.
**************************************************1
MOVE: 'SAPMS01J' TO BDC_TAB1-PROGRAM,
'200' TO BDC_TAB1-DYNPRO,
'X' TO BDC_TAB1-DYNBEGIN.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
MOVE: 'XU200-XUSER' TO BDC_TAB1-FNAM,
USER TO BDC_TAB1-FVAL.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
MOVE: 'BDC_OKCODE' TO BDC_TAB1-FNAM,
'/18' TO BDC_TAB1-FVAL.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
**************************************************2
MOVE: 'SAPMS01J' TO BDC_TAB1-PROGRAM,
'320' TO BDC_TAB1-DYNPRO,
'X' TO BDC_TAB1-DYNBEGIN.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
MOVE: 'USR03-NAME1' TO BDC_TAB1-FNAM,
FULL_NAME TO BDC_TAB1-FVAL.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
MOVE: 'BDC_OKCODE' TO BDC_TAB1-FNAM,
'/11' TO BDC_TAB1-FVAL.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
MOVE: 'SAPMS01J' TO BDC_TAB1-PROGRAM,
'320' TO BDC_TAB1-DYNPRO,
'X' TO BDC_TAB1-DYNBEGIN.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
MOVE: 'BDC_OKCODE' TO BDC_TAB1-FNAM,
'/3' TO BDC_TAB1-FVAL.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
**************************************************3
MOVE: 'SAPMS01J' TO BDC_TAB1-PROGRAM,
'200' TO BDC_TAB1-DYNPRO,
'X' TO BDC_TAB1-DYNBEGIN.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
MOVE: 'BDC_OKCODE' TO BDC_TAB1-FNAM,
'/3' TO BDC_TAB1-FVAL.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
ENDFORM.
----
FORM ADD_ADDRESS_DATA *
----
........ *
----
FORM ADD_DEFAULTS.
REFRESH BDC_TAB1.
CLEAR BDC_TAB1.
**************************************************1
MOVE: 'SAPMS01J' TO BDC_TAB1-PROGRAM,
'200' TO BDC_TAB1-DYNPRO,
'X' TO BDC_TAB1-DYNBEGIN.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
MOVE: 'XU200-XUSER' TO BDC_TAB1-FNAM,
USER TO BDC_TAB1-FVAL.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
MOVE: 'BDC_OKCODE' TO BDC_TAB1-FNAM,
'/17' TO BDC_TAB1-FVAL.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
**************************************************2
MOVE: 'SAPMS01J' TO BDC_TAB1-PROGRAM,
'310' TO BDC_TAB1-DYNPRO,
'X' TO BDC_TAB1-DYNBEGIN.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
MOVE: 'USR01-SPLD' TO BDC_TAB1-FNAM,
PRINTER_NAME TO BDC_TAB1-FVAL.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
MOVE: 'XU310-SPDB1' TO BDC_TAB1-FNAM,
PRINT_IMMED TO BDC_TAB1-FVAL.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
MOVE: 'BDC_OKCODE' TO BDC_TAB1-FNAM,
'/11' TO BDC_TAB1-FVAL.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
MOVE: 'SAPMS01J' TO BDC_TAB1-PROGRAM,
'320' TO BDC_TAB1-DYNPRO,
'X' TO BDC_TAB1-DYNBEGIN.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
MOVE: 'BDC_OKCODE' TO BDC_TAB1-FNAM,
'/3' TO BDC_TAB1-FVAL.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
**************************************************3
MOVE: 'SAPMS01J' TO BDC_TAB1-PROGRAM,
'200' TO BDC_TAB1-DYNPRO,
'X' TO BDC_TAB1-DYNBEGIN.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
MOVE: 'BDC_OKCODE' TO BDC_TAB1-FNAM,
'/3' TO BDC_TAB1-FVAL.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
ENDFORM.
----
FORM ADD_DEFAULTS *
----
........ *
----
FORM ADD_PARAMS.
REFRESH BDC_TAB1.
CLEAR BDC_TAB1.
**************************************************1
MOVE: 'SAPMS01J' TO BDC_TAB1-PROGRAM,
'200' TO BDC_TAB1-DYNPRO,
'X' TO BDC_TAB1-DYNBEGIN.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
MOVE: 'XU200-XUSER' TO BDC_TAB1-FNAM,
USER TO BDC_TAB1-FVAL.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
MOVE: 'BDC_OKCODE' TO BDC_TAB1-FNAM,
'/19' TO BDC_TAB1-FVAL.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
**************************************************2
MOVE: 'SAPMS01J' TO BDC_TAB1-PROGRAM,
'350' TO BDC_TAB1-DYNPRO,
'X' TO BDC_TAB1-DYNBEGIN.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
MOVE: 'XU350-PARID(1)' TO BDC_TAB1-FNAM,
PARAMETER TO BDC_TAB1-FVAL.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
MOVE: 'XU350-PARVA(1)' TO BDC_TAB1-FNAM,
PAR_VAL TO BDC_TAB1-FVAL.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
MOVE: 'BDC_OKCODE' TO BDC_TAB1-FNAM,
'/11' TO BDC_TAB1-FVAL.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
MOVE: 'SAPMS01J' TO BDC_TAB1-PROGRAM,
'320' TO BDC_TAB1-DYNPRO,
'X' TO BDC_TAB1-DYNBEGIN.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
MOVE: 'BDC_OKCODE' TO BDC_TAB1-FNAM,
'/3' TO BDC_TAB1-FVAL.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
**************************************************3
MOVE: 'SAPMS01J' TO BDC_TAB1-PROGRAM,
'200' TO BDC_TAB1-DYNPRO,
'X' TO BDC_TAB1-DYNBEGIN.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
MOVE: 'BDC_OKCODE' TO BDC_TAB1-FNAM,
'/3' TO BDC_TAB1-FVAL.
APPEND BDC_TAB1.CLEAR BDC_TAB1.
ENDFORM.
| User | Count |
|---|---|
| 4 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |