‎2007 Jun 04 11:55 AM
Hi all
Iam new to BDC concept,I developed a code for material creation with Call transation method.and it works well,But i require the same for Sessions method to run in background.. suggest me the modifications
the following is the code. but it is not working for sessions method.
Iam not aware of sessions method so pls explain me the sessions method and also for the below program Explain me how a session is created and how it should be run in background.
INCLUDE bdcrecx1.
PERFORM open_group. "Create a session
LOOP AT it_mat_data INTO wa_mat_data. "Create Finished Materials
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-MBRSH'
'B'.
PERFORM bdc_field USING 'RMMG1-MTART'
'ZFIN'.
PERFORM bdc_field USING 'RMMG1_REF-MATNR'
'Y90000'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0070'.
PERFORM bdc_field USING 'BDC_CURSOR'
'USRM1-SISEL'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'USRM1-SISEL'
'X'.
PERFORM bdc_field USING 'MSICHTAUSW-KZSEL(01)'
'X'.
PERFORM bdc_field USING 'MSICHTAUSW-KZSEL(02)'
'X'.
PERFORM bdc_field USING 'MSICHTAUSW-KZSEL(04)'
'X'.
PERFORM bdc_field USING 'MSICHTAUSW-KZSEL(05)'
'X'.
PERFORM bdc_field USING 'MSICHTAUSW-KZSEL(06)'
'X'.
PERFORM bdc_field USING 'MSICHTAUSW-KZSEL(07)'
'X'.
PERFORM bdc_field USING 'MSICHTAUSW-KZSEL(12)'
'X'.
PERFORM bdc_field USING 'MSICHTAUSW-KZSEL(13)'
'X'.
PERFORM bdc_field USING 'MSICHTAUSW-KZSEL(14)'
'X'.
PERFORM bdc_field USING 'MSICHTAUSW-KZSEL(15)'
'X'.
PERFORM bdc_field USING 'MSICHTAUSW-KZSEL(17)'
'X'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0070'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'USRM1-SISEL'
'X'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0070'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'USRM1-SISEL'
'X'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0070'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(17)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'USRM1-SISEL'
'X'.
PERFORM bdc_field USING 'MSICHTAUSW-KZSEL(15)'
'X'.
PERFORM bdc_field USING 'MSICHTAUSW-KZSEL(16)'
'X'.
PERFORM bdc_field USING 'MSICHTAUSW-KZSEL(17)'
'X'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0070'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'USRM1-SISEL'
'X'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0070'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'USRM1-SISEL'
'X'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0070'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'USRM1-SISEL'
'X'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0070'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'USRM1-SISEL'
'X'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0070'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'USRM1-SISEL'
'X'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0070'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(17)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'USRM1-SISEL'
'X'.
PERFORM bdc_field USING 'MSICHTAUSW-KZSEL(15)'
'X'.
PERFORM bdc_field USING 'MSICHTAUSW-KZSEL(16)'
'X'.
PERFORM bdc_field USING 'MSICHTAUSW-KZSEL(17)'
'X'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0070'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(17)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'USRM1-SISEL'
'X'.
PERFORM bdc_field USING 'MSICHTAUSW-KZSEL(17)'
'X'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0070'.
PERFORM bdc_field USING 'BDC_CURSOR'
'USRM1-AAUSW'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTR'.
PERFORM bdc_field USING 'USRM1-SISEL'
'X'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0080'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RMMG1_REF-VTWEG'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTR'.
PERFORM bdc_field USING 'RMMG1-WERKS'
wa_mat_data-werks.
PERFORM bdc_field USING 'RMMG1_REF-WERKS'
'1000'.
PERFORM bdc_field USING 'RMMG1-LGORT'
wa_mat_data-lgort.
PERFORM bdc_field USING 'RMMG1_REF-LGORT'
'0040'.
PERFORM bdc_field USING 'RMMG1-VKORG'
wa_mat_data-vkorg.
PERFORM bdc_field USING 'RMMG1_REF-VKORG'
'1100'.
PERFORM bdc_field USING 'RMMG1-VTWEG'
wa_mat_data-vtweg.
PERFORM bdc_field USING 'RMMG1_REF-VTWEG'
'10'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4004'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'MAKT-MAKTX'
'714122-19,REV.D'.
PERFORM bdc_field USING 'MARA-MEINS'
'EA'.
PERFORM bdc_field USING 'MARA-EXTWG'
'CST'.
PERFORM bdc_field USING 'MARA-SPART'
'99'.
PERFORM bdc_field USING 'MARA-LABOR'
'N/A'.
PERFORM bdc_field USING 'MARA-PRDHA'
'053511772592'.
PERFORM bdc_field USING 'MARA-MSTAE'
'ET'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MARA-VOLUM'.
PERFORM bdc_field USING 'MARA-BRGEW'
'0.001'.
PERFORM bdc_field USING 'MARA-GEWEI'
'LB'.
PERFORM bdc_field USING 'MARA-NTGEW'
'0.001'.
PERFORM bdc_field USING 'MARA-VOLUM'
'0.007'.
PERFORM bdc_field USING 'MARA-VOLEH'
'"3'.
PERFORM bdc_field USING 'DESC_LANGU_GDTXT'
'E'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'MAKT-MAKTX'
'714122-19,REV.D'.
PERFORM bdc_field USING 'MARA-WRKST'
'B426'.
PERFORM bdc_field USING 'MARA-ZEINR'
'01Y90000M'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'MAKT-MAKTX'
'714122-19,REV.D'.
PERFORM bdc_field USING 'MARA-MEINS'
'EA'.
PERFORM bdc_field USING 'MARA-SPART'
'99'.
PERFORM bdc_field USING 'MVKE-DWERK'
'1000'.
PERFORM bdc_field USING 'MVKE-SKTOF'
'X'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MG03STEUER-TAXKM(02)'.
PERFORM bdc_field USING 'MG03STEUER-TAXKM(01)'
'1'.
PERFORM bdc_field USING 'MG03STEUER-TAXKM(02)'
'1'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4200'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MAKT-MAKTX'.
PERFORM bdc_field USING 'MAKT-MAKTX'
'714122-19,REV.D'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MAKT-MAKTX'.
PERFORM bdc_field USING 'MAKT-MAKTX'
'714122-19,REV.D'.
PERFORM bdc_field USING 'MARA-MEINS'
'EA'.
PERFORM bdc_field USING 'MARA-SPART'
'99'.
PERFORM bdc_field USING 'MVKE-DWERK'
'1000'.
PERFORM bdc_field USING 'MVKE-SKTOF'
'X'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MAKT-MAKTX'.
PERFORM bdc_field USING 'MAKT-MAKTX'
'714122-19,REV.D'.
PERFORM bdc_field USING 'MVKE-VERSG'
'1'.
PERFORM bdc_field USING 'MVKE-KONDM'
'04'.
PERFORM bdc_field USING 'MVKE-MTPOS'
'NORM'.
PERFORM bdc_field USING 'MVKE-PRODH'
'053511772592'.
PERFORM bdc_field USING 'MVKE-MVGR1'
'183'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MAKT-MAKTX'.
PERFORM bdc_field USING 'MAKT-MAKTX'
'714122-19,REV.D'.
PERFORM bdc_field USING 'MARA-MEINS'
'EA'.
PERFORM bdc_field USING 'MARA-BRGEW'
'0.001'.
PERFORM bdc_field USING 'MARA-GEWEI'
'LB'.
PERFORM bdc_field USING 'MARA-NTGEW'
'0.001'.
PERFORM bdc_field USING 'MARC-MTVFP'
'02'.
PERFORM bdc_field USING 'MARA-TRAGR'
'0001'.
PERFORM bdc_field USING 'MARC-LADGR'
'0004'.
PERFORM bdc_field USING 'MARC-PRCTR'
'11100'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4004'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'MAKT-MAKTX'
'714122-19,REV.D'.
PERFORM bdc_field USING 'MARC-STAWN'
''.
PERFORM bdc_field USING 'BDC_CURSOR'
'MARC-HERKL'.
PERFORM bdc_field USING 'MARC-HERKL'
''.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MAKT-MAKTX'.
PERFORM bdc_field USING 'MAKT-MAKTX'
'714122-19,REV.D'.
PERFORM bdc_field USING 'MARA-MEINS'
'EA'.
PERFORM bdc_field USING 'MARC-DISGR'
'ST99'.
PERFORM bdc_field USING 'MARC-MAABC'
'C'.
PERFORM bdc_field USING 'MARC-MMSTA'
'ET'.
PERFORM bdc_field USING 'MARC-DISMM'
'ND'.
PERFORM bdc_field USING 'MARC-DISPO'
'360'.
PERFORM bdc_field USING 'MARC-DISLS'
'EX'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MAKT-MAKTX'.
PERFORM bdc_field USING 'MAKT-MAKTX'
'714122-19,REV.D'.
PERFORM bdc_field USING 'MARC-BESKZ'
'E'.
PERFORM bdc_field USING 'MARC-LGPRO'
'0040'.
PERFORM bdc_field USING 'MARC-FHORI'
'000'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MAKT-MAKTX'.
PERFORM bdc_field USING 'MAKT-MAKTX'
'714122-19,REV.D'.
PERFORM bdc_field USING 'MARC-PERKZ'
'M'.
PERFORM bdc_field USING 'MARC-MISKZ'
'1'.
PERFORM bdc_field USING 'MARC-MTVFP'
'02'.
PERFORM bdc_field USING 'MARC-WZEIT'
'7'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MAKT-MAKTX'.
PERFORM bdc_field USING 'MAKT-MAKTX'
'714122-19,REV.D'.
PERFORM bdc_field USING 'MARC-SBDKZ'
'1'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MAKT-MAKTX'.
PERFORM bdc_field USING 'MAKT-MAKTX'
'714122-19,REV.D'.
PERFORM bdc_field USING 'MARA-MEINS'
'EA'.
PERFORM bdc_field USING 'MPOP-PRMOD'
'0'.
PERFORM bdc_field USING 'MARC-PERKZ'
'M'.
PERFORM bdc_field USING 'MPOP-PERAN'
'60'.
PERFORM bdc_field USING 'MPOP-ANZPR'
'12'.
PERFORM bdc_field USING 'MPOP-KZINI'
'X'.
PERFORM bdc_field USING 'MPOP-SIGGR'
'4.000'.
PERFORM bdc_field USING 'MPOP-MODAV'
'2'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MAKT-MAKTX'.
PERFORM bdc_field USING 'MAKT-MAKTX'
'714122-19,REV.D'.
PERFORM bdc_field USING 'MARA-MEINS'
'EA'.
PERFORM bdc_field USING 'MARC-MMSTA'
'ET'.
PERFORM bdc_field USING 'MARC-FEVOR'
'320'.
PERFORM bdc_field USING 'MARC-LGPRO'
'0040'.
PERFORM bdc_field USING 'MARC-SFCPF'
'ZB02NP'.
PERFORM bdc_field USING 'MARC-UNETO'
'25.0'.
PERFORM bdc_field USING 'MARC-UEETO'
'10.0'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MAKT-MAKTX'.
PERFORM bdc_field USING 'MAKT-MAKTX'
'714122-19,REV.D'.
PERFORM bdc_field USING 'MARA-MEINS'
'EA'.
PERFORM bdc_field USING 'MARC-ABCIN'
'D'.
PERFORM bdc_field USING 'MARC-CCFIX'
'X'.
PERFORM bdc_field USING 'MARA-IPRKZ'
'D'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MAKT-MAKTX'.
PERFORM bdc_field USING 'MAKT-MAKTX'
'714122-19,REV.D'.
PERFORM bdc_field USING 'MARA-BRGEW'
'0.001'.
PERFORM bdc_field USING 'MARA-GEWEI'
'LB'.
PERFORM bdc_field USING 'MARA-NTGEW'
'0.001'.
PERFORM bdc_field USING 'MARA-VOLUM'
'0.007'.
PERFORM bdc_field USING 'MARA-VOLEH'
'"3'.
PERFORM bdc_field USING 'MARC-PRCTR'
'11100'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MAKT-MAKTX'.
PERFORM bdc_field USING 'MAKT-MAKTX'
'714122-19,REV.D'.
PERFORM bdc_field USING 'MARA-MEINS'
'EA'.
PERFORM bdc_field USING 'MARA-SPART'
'99'.
PERFORM bdc_field USING 'MBEW-BKLAS'
'7920'.
PERFORM bdc_field USING 'MBEW-VPRSV'
'S'.
PERFORM bdc_field USING 'MBEW-PEINH'
'1,000'.
PERFORM bdc_field USING 'MBEW-STPRS'
'22.58'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MAKT-MAKTX'.
PERFORM bdc_field USING 'MAKT-MAKTX'
'714122-19,REV.D'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'MAKT-MAKTX'
'714122-19,REV.D'.
PERFORM bdc_field USING 'MARA-MEINS'
'EA'.
PERFORM bdc_field USING 'MBEW-EKALR'
'X'.
PERFORM bdc_field USING 'MBEW-HKMAT'
'X'.
PERFORM bdc_field USING 'MARC-AWSLS'
'000001'.
PERFORM bdc_field USING 'MARC-MMSTA'
'ET'.
PERFORM bdc_field USING 'MARC-PRCTR'
'11100'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MARC-LOSGR'.
PERFORM bdc_field USING 'MARC-LOSGR'
wa_mat_data-kwmeng.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MAKT-MAKTX'.
PERFORM bdc_field USING 'MAKT-MAKTX'
'714122-19,REV.D'.
PERFORM bdc_field USING 'MBEW-BKLAS'
'7920'.
PERFORM bdc_field USING 'MBEW-VPRSV'
'S'.
PERFORM bdc_field USING 'MBEW-PEINH'
'1,000'.
PERFORM bdc_field USING 'MBEW-STPRS'
'22.58'.
PERFORM bdc_dynpro USING 'SAPLSPO1' '0300'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=YES'.
PERFORM bdc_transaction USING 'MM01'.
CALL TRANSACTION 'MM01' USING bdcdata MODE 'A' UPDATE 'A'.
REFRESH bdcdata.
ENDLOOP.
PERFORM batch_job.
PERFORM close_group. "Close session
----
Start new screen *
*----
*FORM bdc_dynpro USING program dynpro.
CLEAR bdcdata.
bdcdata-program = program.
bdcdata-dynpro = dynpro.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
*ENDFORM. "BDC_DYNPRO
*
*----
Insert field *
*----
*FORM bdc_field USING fnam fval.
IF fval <> nodata.
CLEAR bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
APPEND bdcdata.
ENDIF.
*ENDFORM. "BDC_FIELD
&----
*& Form batch_job
&----
text
----
--> p1 text
<-- p2 text
----
FORM batch_job .
ULINE.
FORMAT COLOR COL_HEADING.
WRITE:/ 'Background Job has been Created for MATERIAL CREATION' RIGHT-JUSTIFIED, 'Finished', 80 ''.
WRITE:/ 'Please follow the following steps to run this job',
80 ''.
WRITE:/ 'as listed below.', 80 ''.
FORMAT COLOR COL_NORMAL.
SKIP.
WRITE:/05 '1.Goto Transaction SM35', 80 ''.
WRITE:/05 '2.Select your Session Name', 80 ''.
WRITE:/05 '3.Click On Execute Button', 80 ''.
ENDFORM. " batch_job
‎2007 Jun 04 12:16 PM
hi Balaji,
check out this program,
&----
*& Report ZTESTPROGRAM *
*& *
*
&----
REPORT ZTESTPROGRAM MESSAGE-ID DATA .
SELECTION-SCREEN BEGIN OF SCREEN 501 .
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN COMMENT 35(35) TEXT-001.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(30) TEXT-002 FOR FIELD FILE.
PARAMETERS: FILE(25) TYPE C OBLIGATORY.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF BLOCK B WITH FRAME TITLE T.
SELECTION-SCREEN BEGIN OF TABBED BLOCK BLK FOR 11 LINES.
SELECTION-SCREEN TAB (30) TAB1 USER-COMMAND FIRST DEFAULT SCREEN 102.
SELECTION-SCREEN TAB (30) TAB2 USER-COMMAND SECOND DEFAULT SCREEN 103.
SELECTION-SCREEN END OF BLOCK BLK.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN END OF BLOCK B.
SELECTION-SCREEN END OF SCREEN 501.
SELECTION-SCREEN BEGIN OF SCREEN 102 AS SUBSCREEN NO INTERVALS.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(30) TEXT-003 FOR FIELD S1.
PARAMETERS: S1(12) TYPE C.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF BLOCK BR2 WITH FRAME TITLE T3.
PARAMETERS: OKAY AS CHECKBOX.
SELECTION-SCREEN END OF BLOCK BR2.
SELECTION-SCREEN END OF SCREEN 102.
SELECTION-SCREEN BEGIN OF SCREEN 103 AS SUBSCREEN NO INTERVALS.
SELECTION-SCREEN BEGIN OF BLOCK BR WITH FRAME TITLE T1.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 3(42) TEXT-004 FOR FIELD A.
PARAMETERS A RADIOBUTTON GROUP RAD1.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 3(42) TEXT-006 FOR FIELD N.
PARAMETERS N RADIOBUTTON GROUP RAD1.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 3(42) TEXT-007 FOR FIELD P.
PARAMETERS P RADIOBUTTON GROUP RAD1.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 3(42) TEXT-005 FOR FIELD E.
PARAMETERS E RADIOBUTTON GROUP RAD1.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK BR.
SELECTION-SCREEN BEGIN OF BLOCK BR1 WITH FRAME TITLE T2.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 3(42) TEXT-010 FOR FIELD AS.
PARAMETERS: AS RADIOBUTTON GROUP RAD2.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 3(42) TEXT-008 FOR FIELD L.
PARAMETERS: L RADIOBUTTON GROUP RAD2.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 3(42) TEXT-009 FOR FIELD S.
PARAMETERS: S RADIOBUTTON GROUP RAD2.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK BR1.
SELECTION-SCREEN END OF SCREEN 103.
INITIALIZATION.
TAB1 = 'BATCH INPUT SESSION'.
TAB2 = 'CALL TRANSACTION'.
T = 'BDC METHODS'.
T1 = 'UPDATE MODE'.
T2 = 'PROCESSING MODE'.
T3 = 'KEEP SESSION'.
CALL SELECTION-SCREEN 501.
*************************BDC PROGRAM**********************
data: begin of record,
NAME(20),
AGE(4) ,
ADDRESS(20),
CITY(20),
QUAL(20),
end of record.
DATA ITAB LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
DATA MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
DATA FLAG TYPE I VALUE 0.
START-OF-SELECTION.
*IF FLAG = 0 AND S1 = ' '.
MESSAGE I200 WITH 'SESSION NAME IS EMPTY'.
CALL SELECTION-SCREEN 501.
*ELSE.
PERFORM BDC_PROCESS.
*ENDIF.
AT SELECTION-SCREEN.
CASE SY-UCOMM.
WHEN 'FIRST'.
FLAG = 0.
WHEN 'SECOND'.
FLAG = 1.
ENDCASE.
**************FORM**********************
FORM BDC_DYNPRO USING PROGNAME SCRNO.
CLEAR ITAB.
ITAB-PROGRAM = PROGNAME.
ITAB-DYNPRO = SCRNO.
ITAB-DYNBEGIN = 'X'.
APPEND ITAB.
ENDFORM.
FORM BDC_FIELD USING FLDNAME FLDVAL.
CLEAR ITAB.
ITAB-FNAM = FLDNAME.
ITAB-FVAL = FLDVAL.
APPEND ITAB.
ENDFORM.
FORM CLOSE_DATASET.
CLOSE DATASET FILE.
ENDFORM.
*************CALL TRANSACTION METHOD***********
FORM BDC_TRANSACTION USING TRANSCODE.
DATA MD TYPE C.
DATA UPD TYPE C.
IF A = 'X'.
MD = 'A'.
ELSEIF E = 'X'.
MD = 'E'.
ELSEIF N = 'X'.
MD = 'N'.
ELSE.
MD = 'P'.
ENDIF.
IF AS = 'X'.
UPD = 'A'.
ELSEIF L = 'X'.
UPD = 'L'.
ELSE.
UPD = 'S'.
ENDIF.
CALL TRANSACTION TRANSCODE USING ITAB MODE MD UPDATE UPD MESSAGES
INTO MESSTAB.
ENDFORM.
**************BATCH INPUT SESSION*****************
FORM OPEN_GROUP.
IF FLAG = 0.
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
CLIENT = SY-MANDT
GROUP = S1
KEEP = OKAY
HOLDDATE = SY-DATUM
USER = SY-UNAME.
ENDIF.
ENDFORM.
FORM BDC_INSERT USING TCODE.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
TCODE = TCODE
TABLES
DYNPROTAB = ITAB.
WRITE: 'SESSION CREATED SUCCESFULLY'.
ENDFORM.
FORM CLOSE_GROUP.
CALL FUNCTION 'BDC_CLOSE_GROUP'.
ENDFORM.
FORM BDC_PROCESS.
open dataset FILE for input in text mode encoding default.
IF SY-SUBRC <> 0 .
WRITE: 'ERROR IN PROCESSING THE FILE:PROGRAM ENDED UNEXPECTEDLY'.
EXIT.
ENDIF.
PERFORM OPEN_GROUP.
do.
read dataset FILE into record.
IF SY-SUBRC <> 0.
EXIT.
ENDIF.
PERFORM BDC_DYNPRO USING 'ZSAMPLEBDC' 9099.
PERFORM BDC_FIELD USING 'BDC_OKCODE' '=ENTER'.
PERFORM BDC_FIELD USING 'ZEMPL-NAME' RECORD-NAME.
PERFORM BDC_FIELD USING 'ZEMPL-AGE' RECORD-AGE.
PERFORM BDC_FIELD USING 'ZEMPL-ADDRESS' RECORD-ADDRESS.
PERFORM BDC_FIELD USING 'ZEMPL-CITY' RECORD-CITY.
PERFORM BDC_FIELD USING 'ZEMPL-QUAL' RECORD-QUAL.
enddo.
IF FLAG = 1.
PERFORM BDC_TRANSACTION USING 'ZBDCSAMPLE'.
ELSE.
PERFORM BDC_INSERT USING 'ZBDCSAMPLE'.
ENDIF.
IF FLAG = 0.
PERFORM CLOSE_GROUP.
CALL TRANSACTION 'SM35'.
ELSE.
WRITE:/ 'CALL TRANSACTION SUCCESSFULLY COMPLETED'.
ENDIF.
PERFORM CLOSE_DATASET.
ENDFORM.
check this link.
<a href="http://www.sappoint.com/abap/bdcconcept.pdf">http://www.sappoint.com/abap/bdcconcept.pdf</a>
Reward useful points
Siva
Message was edited by:
SivaKumar
‎2007 Jun 05 5:24 AM
hi,
after CALL FUNCTION 'BDC_CLOSE_GROUP'.
use SUBMIT RSBDCSUB VIA SELECTION-SCREEN.
in open_group parameter holddate mension the date.
ex:
REPORT ZSR_BACKGROUND_JOB.
DATA : BEGIN OF ITAB OCCURS 0,
LIFNR LIKE RF02K-LIFNR,
KTOKK LIKE RF02K-KTOKK,
NAME1 LIKE LFA1-NAME1,
SORTL LIKE LFA1-SORTL,
LAND1 LIKE LFA1-LAND1,
SPRAS LIKE LFA1-SPRAS,
END OF ITAB.
DATA : BDCTAB LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
*INCLUDE BDCRECX1.
START-OF-SELECTION.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = 'z:\flatfiles\sr1.txt'
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
CHECK_BOM = ' '
IMPORTING
FILELENGTH =
HEADER =
TABLES
DATA_TAB = ITAB
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
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
PERFORM OPEN_GROUP.
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
CLIENT = SY-MANDT
DEST = FILLER8
GROUP = 'sudhu'
HOLDDATE = sy-datum" for current ddate
KEEP = 'X'
USER = SY-UNAME
RECORD = FILLER1
PROG = SY-CPROG
IMPORTING
QID =
EXCEPTIONS
CLIENT_INVALID = 1
DESTINATION_INVALID = 2
GROUP_INVALID = 3
GROUP_IS_LOCKED = 4
HOLDDATE_INVALID = 5
INTERNAL_ERROR = 6
QUEUE_ERROR = 7
RUNNING = 8
SYSTEM_LOCK_ERROR = 9
USER_INVALID = 10
OTHERS = 11
.
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 ITAB.
REFRESH BDCTAB.
PERFORM BDC_DYNPRO USING 'SAPMF02K' '0100'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RF02K-KTOKK'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'RF02K-LIFNR'
ITAB-LIFNR.
PERFORM BDC_FIELD USING 'RF02K-KTOKK'
ITAB-KTOKK.
PERFORM BDC_DYNPRO USING 'SAPMF02K' '0110'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'LFA1-SPRAS'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'LFA1-NAME1'
ITAB-NAME1.
PERFORM BDC_FIELD USING 'LFA1-SORTL'
ITAB-SORTL.
PERFORM BDC_FIELD USING 'LFA1-LAND1'
ITAB-LAND1.
PERFORM BDC_FIELD USING 'LFA1-SPRAS'
ITAB-SPRAS.
PERFORM BDC_DYNPRO USING 'SAPMF02K' '0120'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'LFA1-KUNNR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_DYNPRO USING 'SAPMF02K' '0130'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'LFBK-BANKS(01)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTR'.
PERFORM BDC_DYNPRO USING 'SAPLSPO1' '0300'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=YES'.
PERFORM BDC_TRANSACTION USING 'XK01'.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
TCODE = 'XK01'
POST_LOCAL = NOVBLOCAL
PRINTING = NOPRINT
SIMUBATCH = ' '
CTUPARAMS = ' '
TABLES
DYNPROTAB = BDCTAB
EXCEPTIONS
INTERNAL_ERROR = 1
NOT_OPEN = 2
QUEUE_ERROR = 3
TCODE_INVALID = 4
PRINTING_INVALID = 5
POSTING_INVALID = 6
OTHERS = 7
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDLOOP.
PERFORM CLOSE_GROUP.
CALL FUNCTION 'BDC_CLOSE_GROUP'.
SUBMIT RSBDCSUB VIA SELECTION-SCREEN.
&----
*& Form BDC_DYNPRO
&----
FORM BDC_DYNPRO USING VALUE(P_0104)
VALUE(P_0105).
CLEAR ITAB.
BDCTAB-PROGRAM = P_0104.
BDCTAB-DYNPRO = P_0105.
BDCTAB-DYNBEGIN = 'X'.
APPEND ITAB.
ENDFORM. " BDC_DYNPRO
&----
*& Form BDC_FIELD
&----
FORM BDC_FIELD USING VALUE(P_0109)
VALUE(P_0110).
CLEAR ITAB.
BDCTAB-FNAM = P_0109.
BDCTAB-FVAL = P_0110.
APPEND ITAB.
ENDFORM. " BDC_FIELD
‎2007 Jun 05 7:15 AM
Hi Sudha,
As per your code i tried to process the session through report,]
but iam getting an message like
"Processing is not permitted. Session has lock date in the future"
So Pls help me in removing the lock date
Thanks in Advance
Regards
Balaji
‎2007 Jun 05 7:16 AM
‎2007 Jun 05 7:21 AM