‎2008 Apr 15 7:09 AM
can any body send sample BDC Table control Progrm using session method.
Regards
Radhika.K
‎2008 Apr 15 7:14 AM
‎2008 Apr 15 7:18 AM
Note: The recording function records a fixed screen sequence. It cannot be used for migrating data containing a variable number of items or for transactions with dynamic screen sequences!
Tip: It is possible to create a recording via SHDB, generate a program out of this recording, and adopt the program to your needs and registrate the program to be able to use it in LSMW.
Thats means, for creation of project and WBS Elements is not possible through
1. LSMW-BDC (For both CJ01 and CJ20n)
2. LSMW-BAPI (Method: Maintain is not listed )
3. LSME-Standard Batch Direct Input.
Its possible through programmatically(SE38.) either using BAPI Or BDC.
Use Transaction SHDB ( BDC recording) to get your screen flow right . Set
dynpro to default size when you do the recording . When you populate the
step loop , see that you are putting values in the right loop lines .
Use a list with more than the lines displayed in the screen to so the
recording . You will get the Ok codes and the way it is handled in the
recording . Use it to generate a program . Modify the program to your
requirements .
Reward points..
‎2008 Apr 15 7:25 AM
hi,
check thia code.
&----
*& Report ZBDC_TAB_CTRL_FB50 *
*& *
&----
*& *
*& *
&----
REPORT ZBDC_TAB_CTRL_FB50 .
DATA: I_BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
****Header Internal Table
DATA: BEGIN OF T_HEAD OCCURS 0,
BLDAT(10) TYPE C,
BUDAT(10) TYPE C,
END OF T_HEAD.
****Detail Internal Table
DATA: BEGIN OF T_DET OCCURS 0,
BLDAT(10) TYPE C,
BUDAT(10) TYPE C,
HKONT LIKE ACGL_ITEM-HKONT,
SHKZG LIKE ACGL_ITEM-SHKZG,
WRBTR(16) TYPE C,
END OF T_DET.
DATA: T_EXCEL LIKE ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE,
IDX(2) TYPE C,
FNAM(20) TYPE C,
FVAL(40) TYPE C.
***Internal Table for Holding Messages
DATA: BEGIN OF MSGTAB OCCURS 0.
INCLUDE STRUCTURE BDCMSGCOLL.
DATA: END OF MSGTAB.
Parameter for locating the .xls file
PARAMETER:P_FILE TYPE RLGRAP-FILENAME OBLIGATORY.
***Selection Block for Header Section
SELECTION-SCREEN : BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-001.
PARAMETER: PBROW_HD TYPE I,
PEROW_HD TYPE I,
PBCOL_HD TYPE I,
PECOL_HD TYPE I.
SELECTION-SCREEN : END OF BLOCK BLK1.
***Selection Block for Detail Section
SELECTION-SCREEN : BEGIN OF BLOCK BLK2 WITH FRAME TITLE TEXT-002.
PARAMETER: PBROW_DT TYPE I,
PEROW_DT TYPE I,
PBCOL_DT TYPE I,
PECOL_DT TYPE I.
SELECTION-SCREEN : END OF BLOCK BLK2.
****Selecting the
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = ' '
IMPORTING
FILE_NAME = P_FILE.
START-OF-SELECTION.
***Selecting data from .xls for the header data
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
FILENAME = P_FILE
I_BEGIN_COL = PBCOL_HD
I_BEGIN_ROW = PBROW_HD
I_END_COL = PECOL_HD
I_END_ROW = PEROW_HD
TABLES
INTERN = T_EXCEL
EXCEPTIONS
INCONSISTENT_PARAMETERS = 1
UPLOAD_OLE = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
****For Header internal Table
LOOP AT T_EXCEL WHERE ROW GT 0.
CASE T_EXCEL-COL.
WHEN 1. MOVE T_EXCEL-VALUE TO T_HEAD-BLDAT.
WHEN 2. MOVE T_EXCEL-VALUE TO T_HEAD-BUDAT.
ENDCASE.
AT END OF ROW.
APPEND T_HEAD.
CLEAR T_HEAD.
ENDAT.
ENDLOOP.
***Selecting data from .xls for the detail data
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
FILENAME = P_FILE
I_BEGIN_COL = PBCOL_DT
I_BEGIN_ROW = PBROW_DT
I_END_COL = PECOL_DT
I_END_ROW = PEROW_DT
TABLES
INTERN = T_EXCEL
EXCEPTIONS
INCONSISTENT_PARAMETERS = 1
UPLOAD_OLE = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
****For Detail internal Table
LOOP AT T_EXCEL WHERE ROW GT 0.
CASE T_EXCEL-COL.
WHEN 1. MOVE T_EXCEL-VALUE TO T_DET-BLDAT.
WHEN 2. MOVE T_EXCEL-VALUE TO T_DET-BUDAT.
WHEN 3. MOVE T_EXCEL-VALUE TO T_DET-HKONT.
WHEN 4. MOVE T_EXCEL-VALUE TO T_DET-SHKZG.
WHEN 5. MOVE T_EXCEL-VALUE TO T_DET-WRBTR.
ENDCASE.
AT END OF ROW.
APPEND T_DET.
CLEAR T_DET.
ENDAT.
ENDLOOP.
***Populating i_bdcdata from the header internal table
LOOP AT T_HEAD .
PERFORM BDC USING 'H'.
***Populating i_bdcdata from the detail internal table
LOOP AT T_DET WHERE BLDAT = T_HEAD-BLDAT AND
BUDAT = T_HEAD-BUDAT.
PERFORM BDC USING 'D'.
ENDLOOP.
PERFORM POPULATE_BDCTABLE USING:'' 'BDC_OKCODE' '=BU'.
CALL TRANSACTION 'FB50' USING I_BDCDATA
MODE 'A'
UPDATE 'A'.
ENDLOOP.
&----
*& Form POPULATE_BDCTABLE
&----
text
----
-->P_0011 text
-->P_0012 text
-->P_0013 text
----
FORM POPULATE_BDCTABLE USING VALUE(P_FLAG)
VALUE(P_FNAM)
VALUE(P_FVAL).
IF P_FLAG = 'X'.
I_BDCDATA-PROGRAM = P_FNAM.
I_BDCDATA-DYNPRO = P_FVAL.
I_BDCDATA-DYNBEGIN = 'X'.
ELSE.
I_BDCDATA-FNAM = P_FNAM.
I_BDCDATA-FVAL = P_FVAL.
ENDIF.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
ENDFORM. " POPULATE_BDCTABLE
&----
*& Form BDC
&----
text
----
-->P_0416 text
----
FORM BDC USING VALUE(P_VAL).
****For Header
IF P_VAL = 'H'.
DATA:L_BLDAT(10) TYPE C,
L_BUDAT(10) TYPE C.
CLEAR:L_BLDAT,L_BUDAT.
WRITE: T_HEAD-BLDAT TO L_BLDAT,
T_HEAD-BUDAT TO L_BUDAT.
PERFORM POPULATE_BDCTABLE USING:'X' 'SAPMF05A' '1001',
' ' 'BDC_OKCODE' '=0006',
' ' 'BDC_CURSOR' 'ACGL_ITEM-WRBTR(01)',
' ' 'ACGL_HEAD-BLDAT' L_BLDAT,
' ' 'ACGL_HEAD-BUDAT' L_BUDAT .
****For Detail
ELSEIF P_VAL = 'D'.
IDX = IDX + 1.
IF IDX = 1.
CONCATENATE 'ACGL_ITEM-HKONT(0' IDX ')' INTO FNAM.
PERFORM POPULATE_BDCTABLE USING: ' ' FNAM T_DET-HKONT.
CONCATENATE 'ACGL_ITEM-SHKZG(0' IDX ')' INTO FNAM.
PERFORM POPULATE_BDCTABLE USING ' ' FNAM T_DET-SHKZG.
CONCATENATE 'ACGL_ITEM-WRBTR(0' IDX ')' INTO FNAM.
PERFORM POPULATE_BDCTABLE USING ' ' FNAM T_DET-WRBTR.
ELSE.
IF IDX > 10.
IDX = 10.
ENDIF.
PERFORM POPULATE_BDCTABLE USING: 'X' 'SAPMF05A' '1001',
' ' 'BDC_OKCODE' '=0006'.
CONCATENATE 'ACGL_ITEM-HKONT(0' IDX ')' INTO FNAM.
PERFORM POPULATE_BDCTABLE USING: ' ' FNAM T_DET-HKONT.
CONCATENATE 'ACGL_ITEM-SHKZG(0' IDX ')' INTO FNAM.
PERFORM POPULATE_BDCTABLE USING ' ' FNAM T_DET-SHKZG.
CONCATENATE 'ACGL_ITEM-WRBTR(0' IDX ')' INTO FNAM.
PERFORM POPULATE_BDCTABLE USING ' ' FNAM T_DET-WRBTR.
ENDIF.
ENDIF.
ENDFORM. " BDC