How to handle tabstrips in BDC
Hi All,
Can anyone please let me know how to handle Tabstrips in BDC (Here Subscreen comes into picture).
Please give me advice on this any one, it is very urgent, please help me.
Many Thanks in Advance for u r Answer
Naren
Just use ABAPDOCU Transaction and see the complex screen menu,there you will find out example program for Tab strips.
for bdc point of view you need to do recording propery and copy the code .
only changes you need to do get the data from file to internal table.
use loop ur internal table ,withinin internal table paste ur code(screens,program name) and it should work.
Reward Points if it is useful
Thanks
Seshu
Similar Messages
-
In bdc how we handle tabstrips...& tablecontrols
hi gurus,
in bdc how we can handle tabstrips and table controls.... pls any one suggest ..
regards,
praveenTable controls are used to display the data in tabular fashion for better visibility and for easy understanding in Screens as well as in reports.
syntax:
CONTROLS <tab_ctrl_name> TYPE TABLEVIEW USING SCREEN <screen_no>.
chk the demo prog:
DEMO_DYNPRO_TABCONT_LOOP
Cursor Position on Table Controls
At PBO you can set the cursor on a specific field of a specific row of a table control.
SET CURSOR FIELD <f> LINE <lin> OFFSET <off>.
Using the optional addition OFFSET, you can enter the offset of the cursor in the field as described under Setting the Cursor Position .
At PAI you can read the current cursor position.
GET CURSOR FIELD <f> LINE <lin> ...
In addition to the information given under Finding Out the Cursor Position , field contains information on which row of the table control the cursor is currently on. You can also use
GET CURSOR LINE <lin>.
if you only want to determine the row of the table control. SY´-SUBRC allows you to check if the cursor is placed in a row of a table control.
u need to comment the performs of table control fields and write ur own perform statements. And u have to declare the table control fields as separate internal tables.
Go through this urls.
www.****************
www.sap-img.com
Check the below links.
just refer to the link below
http://www.sapmaterial.com/tablecontrol_sap.html
step by step procedure with screen shots
http://www.planetsap.com/howdo_a.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/9f/dbac5135c111d1829f0000e829fbfe/content.htm
http://sap.niraj.tripod.com/id25.html
Also you can see the below examples...
Go to se38 and give demodynpro and press F4.
YOu will get a list of demo module pool programs.
One more T-Code is ABAPDOCU.
YOu can find more examples there.
See the prgrams:
DEMO_DYNPRO_TABLE_CONTROL_1 Table Control with LOOP Statement
DEMO_DYNPRO_TABLE_CONTROL_2 Table Control with LOOP AT ITAB
http://www.geocities.com/ZSAPcHAT
http://www.allsaplinks.com/files/using_table_in_screen.pdf
Check the below link.
http://www.sap-img.com/abap/bdc-example-using-table-control-in-bdc.htm
THis is example to upload the Bank details of the Vendor which has the TC.
REPORT zprataptable2
NO STANDARD PAGE HEADING LINE-SIZE 255.
DATA : BEGIN OF itab OCCURS 0,
i1 TYPE i,
lifnr LIKE rf02k-lifnr,
bukrs LIKE rf02k-bukrs,
ekorg LIKE rf02k-ekorg,
ktokk LIKE rf02k-ktokk,
anred LIKE lfa1-anred,
name1 LIKE lfa1-name1,
sortl LIKE lfa1-sortl,
land1 LIKE lfa1-land1,
akont LIKE lfb1-akont,
fdgrv LIKE lfb1-fdgrv,
waers LIKE lfm1-waers,
END OF itab.
DATA : BEGIN OF jtab OCCURS 0,
j1 TYPE i,
banks LIKE lfbk-banks,
bankl LIKE lfbk-bankl,
bankn LIKE lfbk-bankn,
END OF jtab.
DATA : cnt(4) TYPE n.
DATA : fdt(20) TYPE c.
DATA : c TYPE i.
INCLUDE bdcrecx1.
START-OF-SELECTION.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
filename = 'C: irst1.txt'
filetype = 'DAT'
TABLES
data_tab = itab.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
filename = 'C:second.txt'
filetype = 'DAT'
TABLES
data_tab = jtab.
LOOP AT itab.
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-BUKRS'
itab-bukrs.
PERFORM bdc_field USING 'RF02K-EKORG'
itab-ekorg.
PERFORM bdc_field USING 'RF02K-KTOKK'
itab-ktokk.
PERFORM bdc_dynpro USING 'SAPMF02K' '0110'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFA1-LAND1'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'LFA1-ANRED'
itab-anred.
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_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-BANKN(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTR'.
cnt = 0.
LOOP AT jtab WHERE j1 = itab-i1.
cnt = cnt + 1.
CONCATENATE 'LFBK-BANKS(' cnt ')' INTO fdt.
PERFORM bdc_field USING fdt jtab-banks.
CONCATENATE 'LFBK-BANKL(' cnt ')' INTO fdt.
PERFORM bdc_field USING fdt jtab-bankl.
CONCATENATE 'LFBK-BANKN(' cnt ')' INTO fdt.
PERFORM bdc_field USING fdt jtab-bankn.
IF cnt = 5.
cnt = 0.
PERFORM bdc_dynpro USING 'SAPMF02K' '0130'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFBK-BANKS(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=P+'.
PERFORM bdc_dynpro USING 'SAPMF02K' '0130'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFBK-BANKN(02)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTR'.
ENDIF.
ENDLOOP.
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 'SAPMF02K' '0210'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFB1-FDGRV'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'LFB1-AKONT'
itab-akont.
PERFORM bdc_field USING 'LFB1-FDGRV'
itab-fdgrv.
PERFORM bdc_dynpro USING 'SAPMF02K' '0215'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFB1-ZTERM'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_dynpro USING 'SAPMF02K' '0220'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFB5-MAHNA'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_dynpro USING 'SAPMF02K' '0310'.
PERFORM bdc_field USING 'BDC_CURSOR'
'LFM1-WAERS'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'LFM1-WAERS'
itab-waers.
PERFORM bdc_dynpro USING 'SAPMF02K' '0320'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RF02K-LIFNR'.
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'.
ENDLOOP.
PERFORM close_group.
Regards
Anji
Through Dialog prog
You can go through this document...
http://esnips.com/doc/48bd95e8-facc-4932-b923-465ba59bad24/Table-Control.pdf
refer this program.....
TABLES: kna1,knbk.
DATA: v_kunnr LIKE kna1-kunnr.
DATA: v_check TYPE c.
DATA: BEGIN OF it_knbk OCCURS 0,
banks LIKE knbk-banks,
bankl LIKE knbk-bankl,
bankn LIKE knbk-bankn,
bkont LIKE knbk-bkont,
koinh LIKE knbk-koinh,
chk TYPE c,
END OF it_knbk.
DATA: v_ucomm TYPE sy-ucomm,
v_dynnr TYPE sy-dynnr.
DATA: l_index TYPE sy-index.
data: count type i.
CONTROLS: tc1 TYPE TABLEVIEW USING SCREEN 0200.
*& Module STATUS_0100 OUTPUT
text
MODULE status_0100 OUTPUT.
SET PF-STATUS 'ABC'.
SET TITLEBAR 'xxx'.
ENDMODULE. " STATUS_0100 OUTPUT
*& Module USER_COMMAND_0100 INPUT
text
MODULE user_command_0100 INPUT.
v_ucomm = sy-ucomm.
CASE v_ucomm.
WHEN 'DISP' OR 'CHNG'.
IF v_kunnr space.
SELECT banks
bankl
bankn
bkont
koinh
FROM knbk
INTO TABLE it_knbk
WHERE kunnr = v_kunnr.
LEAVE TO SCREEN '0200'.
ENDIF.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
*& Module MOD_KUNNR INPUT
text
MODULE mod_kunnr INPUT.
IF NOT v_kunnr IS INITIAL.
SELECT SINGLE
kunnr
FROM kna1
INTO v_kunnr
WHERE kunnr = v_kunnr.
IF sy-subrc 0.
MESSAGE e000(zz) WITH 'INCORRECT CUSTOMER NUMBER'.
ENDIF.
ENDIF.
IF v_kunnr IS INITIAL.
MESSAGE e000(zz) WITH 'PLEASE ENTER A VALUE'.
ENDIF.
ENDMODULE. " MOD_KUNNR INPUT
*& Module STATUS_0200 OUTPUT
text
MODULE status_0200 OUTPUT.
SET PF-STATUS 'ABC1'.
SET TITLEBAR 'xxx'.
ENDMODULE. " STATUS_0200 OUTPUT
*& Module SCREENMOD OUTPUT
text
MODULE screenmod OUTPUT.
IF v_ucomm = 'DISP'.
LOOP AT SCREEN.
screen-input = 0.
MODIFY SCREEN.
ENDLOOP.
ELSE."if v_UCOMM = 'CHNG'.
LOOP AT SCREEN.
IF screen-group1 = 'G1'.
screen-input = 0.
ELSE.
screen-input = 1.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
endif.
if sy-ucomm = 'INSE'.
loop at screen.
IF ( tc1-current_line tc1-lines ).
screen-input = 0.
else.
screen-input = 1.
modify screen.
endif.
endloop.
endif.
ENDMODULE. " SCREENMOD OUTPUT
*& Module EXIT2 INPUT
text
MODULE exit2 INPUT.
LEAVE TO SCREEN 0.
ENDMODULE. " EXIT2 INPUT
*& Module modify INPUT
text
MODULE modify INPUT.
IF v_check = 'X'.
it_knbk-chk = 'X'.
MODIFY it_knbk index tc1-current_line.
ELSE.
CLEAR it_knbk-chk .
ENDIF.
ENDMODULE. " modify INPUT
*& Module USER_COMMAND_0200 INPUT
text
MODULE user_command_0200 INPUT.
v_ucomm = sy-ucomm.
CASE v_ucomm.
WHEN 'DELE'.
DELETE it_knbk where chk eq 'X'.
DESCRIBE TABLE it_knbk LINES tc1-lines.
WHEN 'INSE'.
CLEAR it_knbk.
APPEND it_knbk.
DESCRIBE TABLE it_knbk LINES tc1-lines.
WHEN 'LIST'.
LEAVE TO LIST-PROCESSING AND RETURN TO SCREEN '0200'.
WRITE 'Report'.
WHEN 'BACK'.
LEAVE TO SCREEN '0100'.
ENDCASE.
ENDMODULE. " USER_COMMAND_0200 INPUT
*& Module validate INPUT
text
module validate input.
IF IT_KNBK IS INITIAL.
MESSAGE E000(ZZ) WITH 'A BLANK LINE CANNOT BE SAVED'.
ENDIF.
endmodule. " validate INPUT
Regards -
Hi,
How to handle the pop ups in BDC??
Thanks & Regards,
Abhishek SarkarHi,
I am not sure whether popup works in BDC.
Can u please confirm it or can u give me some sample code??
Thanks & Regards -
How to handle resolution in BDC
hi
how to handle resolution in BDCHi,
have a look at the following thread:
screen resolutions
Note that the key here is parameter DEFSIZE.
Best regards. -
How to handle subscreen in bdc?
Hi friends,
I am processing the BDC using the Call Transaction Method.
Here during the processing of Payment posting I need to select all invoice documents using the select all button and perform deactive discount. so that I can able to create and make payment successfully and I done the recording accordingly.
thanks
punjaala
Moderator message - Please ask a specific question - post locked
Edited by: Rob Burbank on May 15, 2009 1:23 PMLike the normal screen.
What is happening ? -
hi,
how to handle popups in bdc.
it is very urgent.
thanks in advance...bdc.
some time bdc ok_code can't set for popup.
so Manually set.
screen no.
bdc_ok code..
else.
check backgrounf sucessful run or not.
after set bdc ok_code. -
Hi,
How to handle errors in bdc call transaction method.
what is the steps to download errors from bdcmsgcoll into flat file in call transaction method
udayHi friend,
Here is a beautiful example which explains how to trap erroreneous records ..if help full then please give me max reward point.
REPORT zgopi_report
NO STANDARD PAGE HEADING
LINE-SIZE 255
MESSAGE-ID ZRASH.
Internal Table Declarations *
*--Internal Table for Data Uploading.
DATA : BEGIN OF IT_FFCUST OCCURS 0,
KUNNR(10),
BUKRS(4),
KTOKD(4),
ANRED(15),
NAME1(35),
SORTL(10),
STRAS(35),
ORT01(35),
PSTLZ(10),
LAND1(3),
SPRAS(2),
AKONT(10),
END OF IT_FFCUST.
*--Internal Table to Store Error Records.
DATA : BEGIN OF IT_ERRCUST OCCURS 0,
KUNNR(10),
EMSG(255),
END OF IT_ERRCUST.
*--Internal Table to Store Successful Records.
DATA : BEGIN OF IT_SUCCUST OCCURS 0,
KUNNR(10),
SMSG(255),
END OF IT_SUCCUST.
*--Internal Table for Storing the BDC data.
DATA : IT_CUSTBDC LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
*--Internal Table for storing the messages.
DATA : IT_CUSTMSG LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
DATA : V_FLAG1(1) VALUE ' ',
"Flag used for opening session.
V_TLINES LIKE SY-TABIX,
"For storing total records processed.
V_ELINES LIKE SY-TABIX,
"For storing the no of error records.
V_SLINES LIKE SY-TABIX.
"For storing the no of success records.
Selection screen *
SELECTION-SCREEN BEGIN OF BLOCK B1.
PARAMETERS : V_FNAME LIKE RLGRAP-FILENAME,
V_SESNAM LIKE RLGRAP-FILENAME.
SELECTION-SCREEN END OF BLOCK B1.
Start-of-selection *
START-OF-SELECTION.
*-- Form to upload flatfile data into the internal table.
PERFORM FORM_UPLOADFF.
TOP-OF-PAGE *
TOP-OF-PAGE.
WRITE:/ 'Details of the error and success records for the transaction'
ULINE.
SKIP.
End of Selection *
END-OF-SELECTION.
*-- Form to Generate a BDC from the Uploaded Internal table
PERFORM FORM_BDCGENERATE.
*--To write the totals and the session name.
PERFORM FORM_WRITEOP.
*& Form form_uploadff
Form to upload flatfile data into the internal table.
FORM FORM_UPLOADFF .
*--Variable to change the type of the parameter file name.
DATA : LV_FILE TYPE STRING.
LV_FILE = V_FNAME.
*--Function to upload the flat file to the internal table.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = LV_FILE
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
IMPORTING
FILELENGTH =
HEADER =
TABLES
DATA_TAB = IT_FFCUST
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.
*--Deleting the headings from the internal table.
DELETE IT_FFCUST INDEX 1.
*--Getting the total number of records uploaded.
DESCRIBE TABLE IT_FFCUST LINES V_TLINES.
ENDIF.
ENDFORM. " form_uploadff
*& Form Form_bdcgenerate
Form to Generate a BDC from the Uploaded Internal table
FORM FORM_BDCGENERATE .
*--Generating the BDC table for the fields of the internal table.
LOOP AT IT_FFCUST.
PERFORM POPULATEBDC USING :
'X' 'SAPMF02D' '0105',
' ' 'BDC_OKCODE' '/00' ,
' ' 'RF02D-KUNNR' IT_FFCUST-KUNNR,
' ' 'RF02D-BUKRS' IT_FFCUST-BUKRS,
' ' 'RF02D-KTOKD' IT_FFCUST-KTOKD,
'X' 'SAPMF02D' '0110' ,
' ' 'BDC_OKCODE' '/00',
' ' 'KNA1-ANRED' IT_FFCUST-ANRED,
' ' 'KNA1-NAME1' IT_FFCUST-NAME1,
' ' 'KNA1-SORTL' IT_FFCUST-SORTL,
' ' 'KNA1-STRAS' IT_FFCUST-STRAS,
' ' 'KNA1-ORT01' IT_FFCUST-ORT01,
' ' 'KNA1-PSTLZ' IT_FFCUST-PSTLZ,
' ' 'KNA1-LAND1' IT_FFCUST-LAND1,
' ' 'KNA1-SPRAS' IT_FFCUST-SPRAS,
'X' 'SAPMFO2D' '0120',
' ' 'BDC_OKCODE' '/00',
'X' 'SAPMF02D' '0125',
' ' 'BDC_OKCODE' '/00',
'X' 'SAPMF02D' '0130',
' ' 'BDC_OKCODE' '=ENTR',
'X' 'SAPMF02D' '0340',
' ' 'BDC_OKCODE' '=ENTR',
'X' 'SAPMF02D' '0360',
' ' 'BDC_OKCODE' '=ENTR',
'X' 'SAPMF02D' '0210',
' ' 'KNB1-AKONT' IT_FFCUST-AKONT,
' ' 'BDC_OKCODE' '/00',
'X' 'SAPMF02D' '0215',
' ' 'BDC_OKCODE' '/00',
'X' 'SAPMF02D' '0220',
' ' 'BDC_OKCODE' '/00',
'X' 'SAPMF02D' '0230',
' ' 'BDC_OKCODE' '=UPDA'.
*--Calling the transaction 'fd01'.
CALL TRANSACTION 'FD01' USING IT_CUSTBDC MODE 'N' UPDATE 'S'
MESSAGES INTO IT_CUSTMSG.
IF SY-SUBRC <> 0.
*--Populating the error records internal table.
IT_ERRCUST-KUNNR = IT_FFCUST-KUNNR.
APPEND IT_ERRCUST.
CLEAR IT_ERRCUST.
*--Opening a session if there is an error record.
IF V_FLAG1 = ' '.
PERFORM FORM_OPENSESSION.
V_FLAG1 = 'X'.
ENDIF.
*--Inserting the error records into already open session.
IF V_FLAG1 = 'X'.
PERFORM FORM_INSERT.
ENDIF.
*--Populating the Success records internal table.
ELSE.
IT_SUCCUST-KUNNR = IT_FFCUST-KUNNR.
APPEND IT_SUCCUST.
CLEAR IT_SUCCUST.
ENDIF.
*--Displaying the messages.
IF NOT IT_CUSTMSG[] IS INITIAL.
PERFORM FORM_FORMATMSG.
ENDIF.
*--Clearing the message and bdc tables.
CLEAR : IT_CUSTBDC[],IT_CUSTMSG[].
ENDLOOP.
*--Getting the total no of error records.
DESCRIBE TABLE IT_ERRCUST LINES V_ELINES.
*--Getting the total no of successful records.
DESCRIBE TABLE IT_SUCCUST LINES V_SLINES.
*--Closing the session only if it is open.
IF V_FLAG1 = 'X'.
PERFORM FORM_CLOSESESS.
ENDIF.
ENDFORM. " Form_bdcgenerate
*& Form populatebdc
FOrm to Populate the BDC table.
FORM POPULATEBDC USING VALUE(P_0178)
VALUE(P_0179)
VALUE(P_0180).
IF P_0178 = 'X'.
IT_CUSTBDC-PROGRAM = P_0179.
IT_CUSTBDC-DYNPRO = P_0180.
IT_CUSTBDC-DYNBEGIN = 'X'.
ELSE.
IT_CUSTBDC-FNAM = P_0179.
IT_CUSTBDC-FVAL = P_0180.
ENDIF.
APPEND IT_CUSTBDC.
CLEAR IT_CUSTBDC.
ENDFORM. " populatebdc
*& Form FORM_OPENSESSION
Form to Open a session.
FORM FORM_OPENSESSION .
*--Variable to convert the given session name into reqd type.
DATA : LV_SESNAM(12).
LV_SESNAM = V_SESNAM.
*--Opening a session.
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
CLIENT = SY-MANDT
GROUP = LV_SESNAM
HOLDDATE = '20040805'
KEEP = 'X'
USER = SY-UNAME
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.
WRITE :/ 'Session not open'.
ENDIF.
ENDFORM. " FORM_OPENSESSION
*& Form FORM_INSERT
fORM TO INSERT ERROR RECOED INTO A SESSION.
FORM FORM_INSERT .
*--Inserting the record into session.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
TCODE = 'FD01'
POST_LOCAL = NOVBLOCAL
PRINTING = NOPRINT
SIMUBATCH = ' '
CTUPARAMS = ' '
TABLES
DYNPROTAB = IT_CUSTBDC
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.
WRITE :/ 'Unable to insert the record'.
ENDIF.
ENDFORM. " FORM_INSERT
*& Form FORM_CLOSESESS
Form to Close the Open Session.
FORM FORM_CLOSESESS .
CALL FUNCTION 'BDC_CLOSE_GROUP'
EXCEPTIONS
NOT_OPEN = 1
QUEUE_ERROR = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
ENDIF.
ENDFORM. " FORM_CLOSESESS
*& Form FORM_FORMATMSG
Form to format messages.
FORM FORM_FORMATMSG .
*--Var to store the formatted msg.
DATA : LV_MSG(255).
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
ID = SY-MSGID
LANG = SY-LANGU
NO = SY-MSGNO
V1 = SY-MSGV1
V2 = SY-MSGV2
V3 = SY-MSGV3
V4 = SY-MSGV4
IMPORTING
MSG = LV_MSG
EXCEPTIONS
NOT_FOUND = 1
OTHERS = 2.
IF SY-SUBRC = 0.
WRITE :/ LV_MSG.
ENDIF.
ULINE.
ENDFORM. " FORM_FORMATMSG
*& Form form_writeop
To write the totals and the session name.
FORM FORM_WRITEOP .
WRITE :/ 'Total Records Uploaded :',V_TLINES,
/ 'No of Error Records :',V_ELINES,
/ 'No of Success Records :',V_SLINES,
/ 'Name of the Session :',V_SESNAM.
ULINE.
ENDFORM. " form_writeop -
HOW TO HANDLE MULTIPLE VALUES IN BDC FOR A PARTICULAR FIELD.
I THINK IT IS HANDLING OF TABLE CONTROLS IN BDC
PLEASE LET KNOW WHETHER THESE TWO ARE SAME CONCEPT OR NOT
HOW TO HANDLE TABLE CONTROLS IN BDC
Moderator message - Please do not use all caps. Please do not ask interview questions - post locked
Edited by: Rob Burbank on Jun 26, 2009 10:02 AMHi,
To handle table control in BDC you will have to enter at least one record in the table control and there after use the index number to increment to the next line item.
Say you run a recording for a transaction which has a table control (ME21), here after you have completed the recording, you'll see the code which will have sometjing like <fieldname>(01) and the entered value. that valeu has been entered as the first line item (01 being the index).
You will have to replace the hard coded line item index with a variable and inside a loop increment the item index. Once you reach the maximum allowed line items on your screen juct press the pagedown button (or insert new row) and reset the index to 1.
Following is a code snippet I used while uploading data for ME31K (vendor contract). It is not the complete code but does show how your code needs to be changed with using index for line items.
Here we assumne that the maximun number of lines displayed at a time on the screen is 14.
<< Unformatable code removed >>
Hope this helps.
Regards,
Sachin
Edited by: Rob Burbank on Jun 26, 2009 10:03 AM -
In bdc how we handle page phone area in transaction pa30
in bdc how we handle page phone area in transaction pa30.suppose one maintain phone no but not pager no.in that case how we will handle
in my system ..i have phone number only displayed...if you want to put page number also then add a ddition qualifier like PG or some number by contacting functional guys..
regards:) -
In BDC how you handled header data and item data
In BDC how you handled header data and item data
Raja,
Can you be more clear ?
Usually you load the header data one and then loop at the item data and then load the item data.
This example should help you.
http://www.sap-img.com/abap/bdc-example-using-table-control-in-bdc.htm
Regards,
Ravi
Note - Please mark all the helpful answers -
How to handle error messages in BDC background mode
Hi experts,
I got one problem in BDC, We are uploading data throgh BDC program,that program is calling Standard Batch Input programs,
Now we got one requirement, i.e., In some special cases we have to send one message as a error message.I handled this in foreground but, how to handle this in background.Hi,
if session is being used
automatically the log will begenereated in the sm35 transaction
but if call transaction is used
put all the error messages in the applicationserver using
open data set
and after the exectionof the program in the background
you have to run another progam which reads the data stroed inthe application server
that also with open data set only...
thanks & regards,
Venkatesh -
How to handle screen resolution in bdc session method.
hi all,
how to handle screen resolution in bdc session method.Hello,
Why do need that for? Is it to add rows on a table control??
If it does, add new rows by using the add button instead of adding into the table control directly to each row.
Bye
Gabriel. -
hello gurus,
I seen one post on how to handle popups.
the post is like this...
Many times in transaction pop-up screen appers and for this screen you dont pass any record but some indication to system telling it to proceed further.
For example u have a screen (pop up) with YES, NO Buttons on it.
To handle such screen, system has provided a variable called BDC_CURSOR. we pass this variable to BDC_DATA and process the screen.
Usually such screen appers in many transactions, in this you are just passing information that YES you want to save the information, that means YES should be clicked. so you are transferring the information to BDCDATA i.e., field name of YES, which is usually SPOP_option. Instead of BDC_OKCODE. you are passing BDC_CURSOR.
please kindly explain me how to handle the pop screens in detail if possible send me a sample code, pleaseHi Ashok,
I checked transaction PA40, but I am not getting any pop up message. Have you done the recording for PA40 in SHDB? I think in recording, you just need to press enter if any pop up comes. One more suggestion, instead of BDC, a function module ''HR_INFOTYPE_OPERATION' can be used for HR infotype update. I have used the same FM forinfotype 0017( travel privileges) update.
Regards,
Pranjali -
How to handle screen resolution in ME21 fro a bdc programme
I need to use BDC program for ME21 for that how to handle the screen resolution,
i know CTU_PARAMS structure is there ,but how to use them, please send the model code.
Thanks & Regards
krishnagot the solution
-
How to handle table control in BDC while uploading item details for anorder
How to handle table control in BDC while uploading item details for an order?
What is the use of CTU_PARAMS structure in BDC?
In Finance I have done some changes to the layout set by coping to a zscript(duning letter) and how can assign the print program?
What is the process to test the finance script?
How can I see the print preview whether it is coming correctly or not?
Thanks in advance.
Regards.
Abhilash.hi,
for the bdc control refer the following link:
http://www.sap-img.com/abap/bdc-example-using-table-control-in-bdc.htm
ctu_params:
refer to the link
https://www.sdn.sap.com/irj/sdn/wiki?path=/display/abap/dataTransfers-LSMW%2CALE%2C+BDC
reward if useful,
thanks and regards
Maybe you are looking for
-
Ipad 2 Print button does not work after 6 upgrade?
Since we upgraded to iOS6, our print button does not work and does not find our printer. It was working fine until iOS6. Called an Apple Technician and he had me reset, which wiped out all of my saved information but didn't fix the print. He then
-
Why SAP refused to issue the cheque saying it's partial payment?
Hi, Experts, We have SAP BUSINESS ONE 2007 A. Just recently, we found a problem in payment wizard: when we tried to pay Purchase Invoices with small value (for example, $128.57) through Payment Wizard. In the final step, SAP shows an error message: c
-
How do I highlight text in an Outlook e-mail in Firefox?
I use Firefox for Outlook e-mails because IE keeps shutting down when I add an attachment. However, I see no option for highlighting text in an e-mail, only bold, etc.
-
Updating a blob field in access db
hi all i need to update a blob field (containing images) in an access db i tried with this code but didn't work: PreparedStatement ps=c.prepareStatement("UPDATE "+tab_name+" SET "+col+" = ? WHERE "+key+"="+key_val); ps.setByte
-
External links in these forum posts
Hi, Is it possible to ensure external links in the forum posts open in new windows or tabs (according to the users browser settings). Navigating away from the forum and then navigating back to read more of a post is a bit of a pain. Thanks Phil