Subscreen in BDC
hi guru's ,
how to handle subscreen in BDC.
my requirement is 'i have two header line , and 5 item lines in each header.
in item there is droupdown box for a field.
if we select this dropdown box the subscreen changes according to the selected value.
plese help me
thanks in advance.
Hi,
U have 2 chioces: u can define a single scenario each time - for example run first all the lines which have a value X in the dropdown box, then all the lines with value Y and change the values in the BDC tab in between. The 2nd chioce is to change the data u enter dynamicly the BDC tab - check the value in the field you are about to enter to the dropdown box and according to that value change the BDC tab (u'll probably have to change only the bdcdata-dynpro value to the number of the different screen called for each value of the dropdown box).
Award point if helpful...
Igal
Similar Messages
-
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,
I want to create project in Tcode 'CJ20N' automatically through BDC program. I am going into subscreen 'Find next number' to get the next available number and create project with that number. Can u please tell me what r the steps for running subscreens in BDC. I am working on SAP R/3 4.6C.
Please help.
DarshanaHi
Even if you do it with CJ20...the screen flow is lot of problem. I tried with BDC for the transaction...but its a real headached due to the hierarchy.
I would suggest you to go with the BAPI: BAPI_PROJECT_MAINTAIN.
You can use this BAPI to create elements way down the hierarchy till activity.
All the documentation is available for the BAPI. You can see it from Se37.
Regards,
VIshwa. -
Hi,
I need to do a BDC in which i need to handle a tabstrip inside a subscreen.in the tech. details it has the field data but no screen field for batch input.
if someone worked on this req before , please let me know. by the way, that information is not seen even in recording. please let me know how to populate BDCDATA table .
Regards,
Kranthi.Hi Amit,
Please find the code u asked for .But I have not written any special code for tabstrips
PERFORM bdc_dynpro USING 'SAPLCOKO1' '0100'.
PERFORM bdc_field USING 'BDC_CURSOR'
'CAUFVD-MATNR'.
PERFORM bdc_field USING 'CAUFVD-MATNR'
g_matnr.
PERFORM bdc_field USING 'CAUFVD-WERKS'
g_pwerk..
PERFORM bdc_field USING 'AUFPAR-PP_AUFART'
c_pdnord_type.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_dynpro USING 'SAPLCOKO1' '0115'.
PERFORM bdc_field USING 'BDC_CURSOR'
'CAUFVD-GAMNG'.
PERFORM bdc_field USING 'CAUFVD-GAMNG'
g_quantity.
PERFORM bdc_field USING 'CAUFVD-GMEIN'
g_meins1.
PERFORM bdc_dynpro USING 'SAPLCOKO1' '0190'.
PERFORM bdc_field USING 'AFPOD-LGORT'
'0050'.
PERFORM bdc_dynpro USING 'SAPLCOKO1' '0115'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=BU'.
Regards,
Akanksha -
Hi All,
I am creating a BDC for transaction J1IEX. While running the BDC through the program I noticed that if the subscreen is collapsed then the BDC is not able to find the screen-fields which were there on the subscreen.
Does anybody has any idea about the solution to this problem.
Regards,
Prakash PandeyHi,
It seems to be a problem of BDC recording which is quite comman in case of sub screens and information messege.
To resolve this goto recording t-code SHDB click on new recording
Now see Only Default size check box is checked ........check all the check boxes and do the recording
see if subscreen you are talking about is coming or not at the time of recording, now use this recording in your program subscreen fields will appear.
Hope this helps
Regards
Bikas -
I have recorded a transaction using the transaction recorder (Transation LT0E); there is a subscreen on one of the screens.
If I do not enter data in the subscreen (i.e. leave the proposed defaults), then when I play back the recording, it works fine. However, if I change the data in the subscreen and play that recording back, it fails; the little window that shows what the current command being executed is just disappears.
If I turn the recording into a BDC session and run that, it records the error "No batch input data for screen SAPML03T 0105".
Anybody have a clue what is happening here?Yes, thanks, that is what is happening; I am deleting a field which when the enter button is pressed is then re-calculating that field with a new value.
Found a workaround for it.
Cheers,
Tony. -
BAPI to select a radio button in subscreen of standard screen
Hi All,
I have a requirement ,Please help me in solving this.
I have created a subscreen in sales order which contains 4 radio buttons.
Now i need to write a BAPI to change to radio button B from radio button A.
Can some one explain me how to do this.
Thanks in Advance,
Sri.if its only the radio button change write a BDC and update it... if there is some thing else...try using BAPI_CUSTOMERCONTRACT_CHANGE u have EXTENSIONIN in tables tab... search the forums on EXTENSIONIN usage and codeing it...
J@Y -
Problem with BDC in PORTAL(its running fine in R/3)
i have done a BDC which works fine in R/3.....
but fials in PORTAL...
the reason being,
the BDC picks a record in a subscreen which has a table in a grid..the table has 15 records...5 records are visible normaly in portal(and 10 in R/3) rest of the record are visible after scrolling...
the BDC has to pick record at 14 position...it picks corectly in R/3...but when it comes to portal..the BDC stops and one has to manualy scroll and pick the record...
alternativley i have made the reocrd appear at 1 position...and everything is fine..
but whats the permanent solution?
is it related to portal..(like for BDC scrolling in portal is failing)
any alternative ways?
(the BDC is related to SEPARATION action in PA40)Hi Kumar,
The permanent solution will be using BAPI's instead of BDC.
The BDC is entirely dependent on the screen and any changes in the screen will make the BDC vulnerable.
Thanks,
Arun -
Call transaction using bdc tab and also skip first screen??
Hi,
Please help.
I want to call transaction PA30 fill it with values which are determined only at runtime and then skip first screen.
The screen doesn't have parameter fields so i cannot use 'set parameter id'.
I also cannot create a transaction with parameters as I only have these at runtime.
Anyone done anything like this???hi,
you might be populateing the itab bdc_tab with the corresponding values fronm the recording.
while doing the recording go until to the screen wher u want to finsih.
and populate the bdc_tab wit the ok code,screen number and the value.
this will do.
for eg see the code below.
METHOD analyze_log.
DATA : wrk_extid TYPE balhdr-extnumber.
DATA : wrk_date(10) TYPE c.
DATA : it_rspar TYPE TABLE OF rsparams .
DATA : wa_rspar TYPE rsparams.
DATA: it_bdcdata TYPE STANDARD TABLE OF bdcdata,
wa_bdcdata TYPE bdcdata.
DATA: params TYPE ctu_params.
CONSTANTS : object TYPE balhdr-object VALUE 'ZKIV_LOG'.
IF wa_kopf-vertr_nr IS NOT INITIAL.
CONCATENATE wa_kopf-vertr_nr '/' wa_kopf-nachtr_nr INTO wrk_extid.
wrk_date = '01.09.2006'.
SET PARAMETER ID 'BALOBJ' FIELD object .
SET PARAMETER ID 'BALEXT' FIELD wrk_extid.
wa_rspar-selname = 'ALDATE'.
wa_rspar-sign = 'I'.
wa_rspar-kind = 'P'.
wa_rspar-option = 'EQ'.
wa_rspar-low = wrk_date.
APPEND wa_rspar TO it_rspar.
ELSE.
CLEAR wrk_extid.
SET PARAMETER ID 'BALEXT' FIELD wrk_extid.
ENDIF.
Update BDC tab
--Call SLG1 using BDC--&
params-dismode = 'E'. "Show errors only
CLEAR wa_bdcdata.
wa_bdcdata-program = 'SAPLSLG3'.
wa_bdcdata-dynpro = '0100'.
wa_bdcdata-dynbegin = 'X'.
APPEND wa_bdcdata TO it_bdcdata.
CLEAR wa_bdcdata.
wa_bdcdata-fnam = 'BDC_CURSOR'.
wa_bdcdata-fval = 'BALHDR-ALDATE'.
APPEND wa_bdcdata TO it_bdcdata.
CLEAR wa_bdcdata.
wa_bdcdata-fnam = 'BALHDR-ALDATE'.
wa_bdcdata-fval = wrk_date.
APPEND wa_bdcdata TO it_bdcdata.
CLEAR wa_bdcdata.
wa_bdcdata-fnam = 'BDC_OKCODE'.
wa_bdcdata-fval = '=SELE'.
APPEND wa_bdcdata TO it_bdcdata.
CLEAR wa_bdcdata.
wa_bdcdata-program = 'SAPLSLG3'.
wa_bdcdata-dynpro = '0100'.
wa_bdcdata-dynbegin = 'X'.
APPEND wa_bdcdata TO it_bdcdata.
CLEAR wa_bdcdata.
wa_bdcdata-fnam = 'BDC_OKCODE'.
wa_bdcdata-fval = '=&F03'.
APPEND wa_bdcdata TO it_bdcdata.
CLEAR wa_bdcdata.
wa_bdcdata-fnam = 'BDC_SUBSCR'.
wa_bdcdata-fval = 'SAPLSBAL_DISPLAY 0101SUBSCREEN'.
APPEND wa_bdcdata TO it_bdcdata.
CALL TRANSACTION 'SLG1' USING it_bdcdata OPTIONS FROM params.
--End of BDC--&
ENDMETHOD.
here wat i m doing is that i dont want the subscreen 101 to be displayed..
Message was edited by:
Sandeep S -
Problem in BDC program using MIGO_GO transaction code
Hi Gurus
I have developed a BDC session upload program. The program is
running fine except for the issue that when it goes the subscreen in
MIGO_GO transaction (same as MIGO) it does not generates any code
for page down or next page key. While recording after 15 entries
(end of page) it moves automaticaly to the next page on line 2 but
when I have used my own itab to fill data into this screen it
passes/generates the code for page down with clear screen. It does
go to item 2 but overwrites earlier entries instead of generting new
one.
Any suggestions?
Guys this is very urgent so need ur feedback immediately?
Lots of thanks in advance.
The code is as follows:
PURPOSE: The purpose of this upload program is to upload
receipt
against Production Order. Data is uploaded into SAP
via text
file which is converted from pre-defined excel file
pattern.
REPORT zmm_migo_rec
NO STANDARD PAGE HEADING LINE-SIZE 255.
*Excel column sequence SAP Material Number Batch # Crop Year
Process Date Net Weight Plant Area Gross
Weight Plant Number Shift Mat.Desc Prod.Ord#
TYPES : BEGIN OF st_barcode,
m_matnr LIKE mara-matnr,
m_batch_no LIKE mseg-charg,
m_crop_year TYPE c LENGTH 4,
m_process_date LIKE mkpf-bldat,
m_net_wt TYPE c LENGTH 7,
m_plant_area TYPE c LENGTH 5,
m_gross_wt TYPE c LENGTH 7,
m_plant_num TYPE c LENGTH 1,
m_shift TYPE c LENGTH 1,
m_matnr_desc TYPE c LENGTH 30,
m_prod_ord LIKE mseg-aufnr,
text(200),
text1(200),
END OF st_barcode.
DATA : itab_barcode TYPE TABLE OF st_barcode WITH HEADER LINE.
DATA : itab_log TYPE TABLE OF st_barcode WITH HEADER LINE.
DATA : itab_log1 TYPE TABLE OF st_barcode WITH HEADER LINE.
DATA : g_filename TYPE rlgrap-filename.
INCLUDE bdcrecx1.
Start of Selection Screen for document data, screen data and
posting date fields.
SELECTION-SCREEN BEGIN OF BLOCK a1 WITH FRAME TITLE text-000.
PARAMETERS :
p_dummy TYPE i DEFAULT 0,
p_bldat LIKE sy-datum OBLIGATORY DEFAULT sy-
datum, "Document date
p_budat LIKE sy-datum OBLIGATORY DEFAULT sy-
datum, "Posting date
p_frmplt LIKE t001l-werks OBLIGATORY,
p_frmloc LIKE t001l-lgort OBLIGATORY,
p_toloc LIKE t001l-lgort OBLIGATORY,
p_rsnmov LIKE mseg-grund OBLIGATORY,
p_bsarea LIKE mseg-gsber OBLIGATORY,
cb_simul AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN END OF BLOCK a1.
START-OF-SELECTION.
*to remove unnecessary fields from selection screen
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF screen-group4 LT '060' AND screen-group3 NE 'BLK'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
*to Process Call Transaction in Error Mode
ctu = 'X'.
ctumode = 'A'.
nodata = space.
END-OF-SELECTION.
Get data from file
PERFORM f_get_data.
Validate data retrieved from excel file
PERFORM f_validate_data.
Batch data / simulate.
IF cb_simul IS INITIAL.
PERFORM f_prized_data.
PERFORM f_write_log.
ELSE.
PERFORM f_write_log.
ENDIF.
*& Form F_GET_DATA
This module is used to read text file data into SAP itab.
FORM f_get_data .
Select the file to be uploaded
CALL FUNCTION 'UPLOAD'
EXPORTING
filename = g_filename
filetype = 'DAT'
TABLES
data_tab = itab_barcode
EXCEPTIONS
conversion_error = 1
invalid_table_width = 2
invalid_type = 3
no_batch = 4
unknown_error = 5
gui_refuse_filetransfer = 6
OTHERS = 7.
ENDFORM. " F_GET_DATA
*& Form F_VALIDATE_DATA
text
FORM f_validate_data .
DATA : BEGIN OF lt_marc OCCURS 0,
matnr LIKE mard-matnr,
werks LIKE mard-werks, " Plant
END OF lt_marc.
RANGES : lr_matnr FOR mara-matnr.
READ TABLE itab_barcode INDEX 1.
Prepare Ranges to check/verify Material from Table MARD i.e.
respective plant
lr_matnr-sign = 'I'.
lr_matnr-option = 'EQ'.
LOOP AT itab_barcode.
Add leading zeros incase of numeric value.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = itab_barcode-m_matnr
IMPORTING
output = itab_barcode-m_matnr.
lr_matnr-low = itab_barcode-m_matnr.
APPEND lr_matnr.
MODIFY itab_barcode TRANSPORTING m_matnr.
ENDLOOP.
IF NOT lr_matnr[] IS INITIAL.
SORT lr_matnr BY low.
DELETE ADJACENT DUPLICATES FROM lr_matnr COMPARING low.
SELECT matnr werks FROM marc
INTO TABLE lt_marc
WHERE matnr IN lr_matnr AND
werks = p_frmplt.
ENDIF.
LOOP AT itab_barcode.
READ TABLE lt_marc
WITH KEY matnr = itab_barcode-m_matnr
werks = p_frmplt.
IF sy-subrc <> 0 .
CONCATENATE 'Material' itab_barcode-m_matnr
' does not exist in Plant ' p_frmplt
INTO itab_barcode-text SEPARATED BY space.
MOVE-CORRESPONDING itab_barcode TO itab_log.
APPEND itab_log.
MODIFY itab_barcode TRANSPORTING text.
CONTINUE.
ENDIF.
ENDLOOP.
ENDFORM. " F_VALIDATE_DATA
*& Form F_WRITE_LOG
text
FORM f_write_log .
LOOP AT itab_log.
WRITE :/ itab_log-text.
ENDLOOP.
LOOP AT itab_log1.
WRITE :/ itab_log1-text1.
ENDLOOP.
ENDFORM. " F_WRITE_LOG
*& Form f_prized_data
text
--> p1 text
<-- p2 text
FORM f_prized_data.
DATA: ld_lines LIKE sy-tabix,
ld_sw TYPE i,
lh_loop TYPE i,
ld_recno TYPE i,
lremain TYPE i,
ld_total TYPE i,
ld_counter LIKE sy-index,
ld_counter TYPE i,
ld_save LIKE sy-index,
ld_last TYPE i,
sc_counter(2) TYPE n,
ld_budat(10),
ld_bldat(10).
DATA: wa_matnr(40) TYPE c,
wa_bwtar(40) TYPE c,
wa_erfme(40) TYPE c,
wa_charg(40) TYPE c.
WRITE: p_budat TO ld_budat,
p_bldat TO ld_bldat.
ld_recno = 300. " Number of records in the upload file.
ld_last = 0.
Open BDC session.
PERFORM open_group.
DESCRIBE TABLE itab_barcode LINES ld_lines.
CLEAR: lh_loop, lremain.
lh_loop = ld_lines DIV ld_recno.
lremain = ld_lines MOD ld_recno.
IF lremain > 0.
lh_loop = lh_loop + 1.
ENDIF.
ld_sw = 1.
LOOP AT itab_barcode.
ADD 1 TO ld_counter.
ADD 1 TO sc_counter.
ADD 1 TO ld_total. " Check for 300
IF ld_sw = 1.
Header data.
PERFORM open_group.
PERFORM bdc_dynpro USING 'SAPLMIGO' '0001'.
PERFORM bdc_field
USING 'BDC_OKCODE' '=MIGO_OK_ACTION'.
PERFORM bdc_field
USING 'BDC_CURSOR' 'GODYNPRO-ACTION'.
PERFORM bdc_field USING 'GODYNPRO-
ACTION' 'A01'.
PERFORM bdc_field USING 'GODYNPRO-
REFDOC' 'R02'.
PERFORM bdc_dynpro USING 'SAPLMIGO' '0001'.
PERFORM bdc_field
USING 'BDC_OKCODE' '=OK_GO'.
PERFORM bdc_field USING 'GODYNPRO-
ACTION' 'A01'.
PERFORM bdc_field USING 'GODYNPRO-
REFDOC' 'R08'.
PERFORM bdc_field USING 'GODEFAULT_TV-
BWART' '101'.
PERFORM bdc_field
USING 'BDC_CURSOR' 'GODYNPRO-
ORDER_NUMBER'.
PERFORM bdc_field USING 'GOHEAD-
BLDAT' ld_bldat.
PERFORM bdc_field USING 'GOHEAD-
BUDAT' ld_budat.
PERFORM bdc_field USING 'GOHEAD-
XNAPR' 'X'.
PERFORM bdc_dynpro USING 'SAPLMIGO' '0001'.
PERFORM bdc_field
USING 'BDC_OKCODE' '=MIGO_OK_DETAIL_OP
EN'.
PERFORM bdc_field USING 'GODYNPRO-
ACTION' 'A01'.
PERFORM bdc_field USING 'GODYNPRO-
REFDOC' 'R08'.
PERFORM bdc_field USING 'GODEFAULT_TV-
BWART' '101'.
PERFORM bdc_field
USING 'BDC_CURSOR' 'GODYNPRO-
ORDER_NUMBER'.
PERFORM bdc_field USING 'GOHEAD-
BLDAT' ld_bldat.
PERFORM bdc_field USING 'GOHEAD-
BUDAT' ld_budat.
PERFORM bdc_field USING 'GOHEAD-
XNAPR' 'X'.
PERFORM bdc_dynpro USING 'SAPLMIGO' '0001'.
PERFORM bdc_field
USING 'BDC_OKCODE' '=OK_GO'.
PERFORM bdc_field USING 'GODYNPRO-
ACTION' 'A01'.
PERFORM bdc_field USING 'GODYNPRO-
REFDOC' 'R08'.
PERFORM bdc_field USING 'GODEFAULT_TV-
BWART' '101'.
PERFORM bdc_field
USING 'BDC_CURSOR' 'GODYNPRO-
ORDER_NUMBER'.
PERFORM bdc_field USING 'GODYNPRO-
ORDER_NUMBER' itab_barcode-m_prod_ord.
PERFORM bdc_field USING 'GOHEAD-
BLDAT' ld_bldat.
PERFORM bdc_field USING 'GOHEAD-
BUDAT' ld_budat.
PERFORM bdc_field USING 'GOHEAD-
XNAPR' 'X'.
PERFORM bdc_dynpro USING 'SAPLMIGO' '0001'.
PERFORM bdc_field
USING 'BDC_OKCODE' '=MIGO_OK_LINE_CLIC
K'.
PERFORM bdc_field USING 'GODEFAULT_TV-
BWART' '101'.
PERFORM bdc_field USING 'GOHEAD-
BLDAT' ld_bldat.
PERFORM bdc_field USING 'GOHEAD-
BUDAT' ld_budat.
PERFORM bdc_field USING 'GOHEAD-
XNAPR' 'X'.
PERFORM bdc_field USING 'GOHEAD-
WEVER' '3'.
PERFORM bdc_field
USING 'BDC_CURSOR' 'GOITEM-ZEILE(01)'.
PERFORM bdc_field USING 'GODYNPRO-
DETAIL_ZEILE' ' 1'.
PERFORM bdc_field USING 'GOITEM-
ERFME' 'KG'.
PERFORM bdc_field USING 'GOITEM-
BWART' '101'.
PERFORM bdc_dynpro USING 'SAPLMIGO' '0001'.
PERFORM bdc_field
USING 'BDC_OKCODE' '=MIGO_OK_SPLIT_QUA
N'.
PERFORM bdc_field USING 'GODEFAULT_TV-
BWART' '101'.
PERFORM bdc_field USING 'GOHEAD-
BLDAT' ld_bldat.
PERFORM bdc_field USING 'GOHEAD-
BUDAT' ld_budat.
PERFORM bdc_field USING 'GOHEAD-
XNAPR' 'X'.
PERFORM bdc_field USING 'GOHEAD-
WEVER' '3'.
PERFORM bdc_field
USING 'BDC_CURSOR' 'GOITEM-ZEILE(01)'.
PERFORM bdc_field USING 'GODYNPRO-
DETAIL_ZEILE' ' 1'.
PERFORM bdc_field USING 'GOITEM-
ERFME' 'KG'.
PERFORM bdc_field USING 'GOITEM-
MIGO_ELIKZ' '1'.
PERFORM bdc_field USING 'GOITEM-
BWART' '101'.
ld_sw = 0.
ENDIF.
IF sc_counter = 16.
CLEAR sc_counter.
PERFORM bdc_field USING 'BDC_OKCODE' 'DOWN'.
PERFORM bdc_field
USING 'BDC_OKCODE' '/00'.
add 2 to sc_counter.
ELSE.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
ENDIF.
CLEAR wa_matnr.
CONCATENATE 'GOSPLIT-ERFMG(' sc_counter ')' INTO wa_matnr.
CLEAR wa_bwtar.
CONCATENATE 'GOSPLIT-CHARG(' sc_counter ')' INTO wa_bwtar.
PERFORM bdc_dynpro USING 'SAPLMIGO' '1000'.
PERFORM bdc_field
USING 'BDC_OKCODE' '=OK_SP_CH'.
PERFORM bdc_field
USING 'BDC_CURSOR' 'GOSPLIT-CHARG
(sc_counter)'.
PERFORM bdc_field USING wa_matnr itab_barcode-
m_gross_wt.
PERFORM bdc_field USING wa_bwtar itab_barcode-
m_batch_no.
PERFORM bdc_field
USING 'BDC_CURSOR' 'GOSPLIT-CHARG
(sc_counter)'.
*When end of itab
AT LAST.
PERFORM bdc_dynpro USING 'SAPLMIGO' '1000'.
PERFORM bdc_field
USING 'BDC_OKCODE' '=OK_GOON'.
PERFORM bdc_field
USING 'BDC_CURSOR' 'GOSPLIT-CHARG
(sc_counter)'.
PERFORM bdc_dynpro USING 'SAPLMIGO' '0001'.
PERFORM bdc_field
USING 'BDC_OKCODE' '=MIGO_OK_NEXT_IT'.
PERFORM bdc_field USING 'GODEFAULT_TV-
BWART' '101'.
PERFORM bdc_field USING 'GOHEAD-
BLDAT' ld_bldat.
PERFORM bdc_field USING 'GOHEAD-
BUDAT' ld_budat.
PERFORM bdc_field USING 'GOHEAD-
XNAPR' 'X'.
PERFORM bdc_field USING 'GOHEAD-
WEVER' '3'.
PERFORM bdc_field
USING 'BDC_CURSOR' 'GOITEM-ZEILE(01)'.
PERFORM bdc_field USING 'GODYNPRO-
DETAIL_ZEILE' ' 1'.
PERFORM bdc_field USING 'GOITEM-
ERFME' 'KG'.
PERFORM bdc_field USING 'GOITEM-
MIGO_ELIKZ' '1'.
PERFORM bdc_field USING 'GOITEM-
BWART' '101'.
PERFORM bdc_dynpro USING 'SAPLMIGO' '0001'.
PERFORM bdc_field
USING 'BDC_OKCODE' '=MIGO_OK_TAKE_VALU
E'.
PERFORM bdc_field USING 'GODEFAULT_TV-
BWART' '101'.
PERFORM bdc_field USING 'GOHEAD-
BLDAT' ld_bldat.
PERFORM bdc_field USING 'GOHEAD-
BUDAT' ld_budat.
PERFORM bdc_field USING 'GOHEAD-
XNAPR' 'X'.
PERFORM bdc_field
USING 'BDC_CURSOR' 'GOITEM-TAKE_IT
(01)'.
PERFORM bdc_field USING 'GOITEM-TAKE_IT
(01)' 'X'.
PERFORM bdc_field USING 'GODYNPRO-
DETAIL_ZEILE' ' 1'.
PERFORM bdc_field USING 'GOITEM-
ERFME' 'KG'.
PERFORM bdc_field USING 'GOITEM-
MIGO_ELIKZ' '1'.
PERFORM bdc_field USING 'GOITEM-
BWART' '101'.
PERFORM bdc_dynpro USING 'SAPLMIGO' '0001'.
PERFORM bdc_field
USING 'BDC_OKCODE' '=OK_CHECK'.
PERFORM bdc_field USING 'GODEFAULT_TV-
BWART' '101'.
PERFORM bdc_field USING 'GOHEAD-
BLDAT' ld_bldat.
PERFORM bdc_field USING 'GOHEAD-
BUDAT' ld_budat.
PERFORM bdc_field USING 'GOHEAD-
XNAPR' 'X'.
PERFORM bdc_field
USING 'BDC_CURSOR' 'GOITEM-TAKE_IT
(01)'.
PERFORM bdc_field USING 'GODYNPRO-
DETAIL_ZEILE' ' 1'.
PERFORM bdc_field USING 'GOITEM-
ERFME' 'KG'.
PERFORM bdc_field USING 'GOITEM-
MIGO_ELIKZ' '1'.
PERFORM bdc_field USING 'GOITEM-
BWART' '101'.
PERFORM bdc_field USING 'GODYNPRO-
DETAIL_TAKE' 'X'.
PERFORM bdc_dynpro USING 'SAPMSSY0' '0120'.
PERFORM bdc_field
USING 'BDC_OKCODE' '=&ONT'.
PERFORM bdc_dynpro USING 'SAPLMIGO' '0001'.
PERFORM bdc_field
USING 'BDC_OKCODE' '=OK_POST1'.
PERFORM bdc_field USING 'GODEFAULT_TV-
BWART' '101'.
PERFORM bdc_field USING 'GOHEAD-
BLDAT' ld_bldat.
PERFORM bdc_field USING 'GOHEAD-
BUDAT' ld_budat.
PERFORM bdc_field USING 'GOHEAD-
XNAPR' 'X'.
PERFORM bdc_field
USING 'BDC_CURSOR' 'GOITEM-TAKE_IT
(01)'.
PERFORM bdc_field USING 'GODYNPRO-
DETAIL_ZEILE' ' 1'.
PERFORM bdc_field USING 'GOITEM-
ERFME' 'KG'.
PERFORM bdc_field USING 'GOITEM-
MIGO_ELIKZ' '1'.
PERFORM bdc_field USING 'GOITEM-
BWART' '101'.
PERFORM bdc_field USING 'GODYNPRO-
DETAIL_TAKE' 'X'.
PERFORM bdc_transaction USING 'MIGO_GO'.
ENDAT.
ENDLOOP.
PERFORM close_group.
ENDFORM. "f_prized_dataHi
Thanks Peram for your swift reply but I am a newbie to BAPIs ...... is there anyway i can do this from within the code i had written ....
for BAPIs I have to do R & D in detail and I need to complete this urgently. If BAPI is the only solution kindly provide my some quick guideline to proceed.
Thanks,
Imran -
Field is not populating in BDC from Table Control value????
Hi Experts,
After adding a new Quantity (MY_QUANTITY) field to the existing Table control, I populated the data from SAP into it.
Now, the user will change (if he wants) its value, then he clicks the Push Button by expecting the posting of the Document i.e.in other words. the Control encounters the statement of MY_FORM_CREATE_ABAVN_VIA_BDC in my Prog.
But, MY_QUANTITY (changed, even not changed too) value/s is not passing in to my BDC_DATA table/code?
I am doing BDC for ABAVN transaction and wanting the Quantity filed of ''Partial Retirement'' tab to b populated in BDC. So, I am using as,
SAPLAMDP--Screen 100--Field as ANLA-MENGE (its a Subscreen/Tabs of SAP Screen)
So,
1) Problem is with my BDC code?
2) or, ''SAPLAMDP--Screen 100--Field as ANLA-MENGE'' is this wrong?
3) or else any other?
Message was edited by:
Sridhar
Message was edited by:
Sridhar
Message was edited by:
SridharHai sridhar,
The problem is within the BDC Code.
Because For the effect of adding the field there is no correspong change in bdc is done.So record one more time use the latest one(After adding the field)
Hope this helps you.
Regds,
Rama.Pammi -
Download Data From Excel - VBA Code to SAP Using BDC
Hi ,
I am Sudhir Dure, working with Satyam Computers.
I need help on the below query:
I have an excel file which download data from Excel to SAP using RFC function & with the help of VBA interface.
In this VBA code I have used BDC recording of SAP Transaction KE21N to post data into SAP.
Now I am facing problem to find sub screen (tab page screen ) in SAP from VBA code .
How to pass BDC Subscreen details from VBA code to SAP using below code?
BDCTABLE.Rows.Add
BDCTABLE.Cell(J, "PROGRAM") = PROGRAMNAME
BDCTABLE.Cell(J, "DYNPRO") = "0200"
BDCTABLE.Cell(J, "DYNBEGIN") = "X"
BDCTABLE.Cell(J, "FNAM") = "BDC_OKCODE"
BDCTABLE.Cell(J, "FVAL") = "=NEXT"
Thanks,
Sudhir Dure
9972097464can anyone tell me how to get the PurchaseOrder number and item quantity from the Salesorder...? what are the fields here as given below..??
For Each oItem In oSalesOrder.items
wsTemplate.Range(cols(3) & Indexv).Value = oItem.material.material
'wsTemplate.Range(cols(4) & Indexv).Value = ' I need item quantity here ????
wsTemplate.Range(cols(1) & Indexv).Value = sapSoNumber
wsTemplate.Range(cols(2) & Indexv).Value = ' I need purchase order number here>???
Indexv = (Indexv + 1)
Next
reply fast. please .. thanks -
Identify contents of a screen field via a BDC
Hello
I am executing transaction F-03 to clear billing docs via a BDC. I need to identify the line items to clear by tax code. The tax code field is displayed on a subscreen by double clicking the line item (belnr).
I then position the cursor on the tax code field (BSEG-TXJCD) within the BDC. I would now like to obtain it's value from the screen so I can then determine if this is a valid tax code to clear or not clear. Is there a way to accomplish this within a BDC.
I tried placing a "get paramter id 'TX J' id BSEG-TXJCD statement within the flow of the BDC logic but don't believe I am retireving anything.
Thanks for you help,
JoeHave you used SHBD to record the transaction? Maybe it would help you out...
Greetings,
Blag. -
Hello All,
I created a BDC program for the CS02 Transaction.
But the problem is :
1. I went to the Transaction CS02 directly.
2.Entered the parameter values for :
Material,
Plant,
BOM Usage,
Alternative BOM,
Change Number
Date
3. Pressed Enter
4. the screen called is 2150 and subscreen is 802.
( all the records are in the Table control )
5. For the same scenario,
When I execute my BDC program in foreground the screen called is : 150 .
For this screen all the records are with the CHECK-BOX .
6. The problem what I'm facing is : For my BDC Program output when I sellect the one record with the CHECK-BOX Selection and scroll down and check one more record and then scroll up then the first record which I checked is un-checked.
SO my Qns are :
A. WHy in BDC the same screens are not called as in standard transaction CS02.
B. How to maintain the checked records in the BDC even when scrolled down ?
Request you to clarify !
Regards,
Deepu.KHello Tamás,
You mean to say that I should check the record based upon the Position value by reading it using Get cursor command ?
Request you to clarify !
Regards,
Deepu.K -
Hello Expert i am making a bdc for ME21n, to make a purchase order net price is compulsary for material
or you can say m21n has two subscreen/table control,
How Can i Handle itHi,
if user is directly using the transaction ME21N then you can use the the exit method.
if you are trying to create the PO in the background by uploading the PO details using the text or excel sheet then you can use the BAPI BAPI_PO_CRATE1 to create the PO.
you can check the data present in the file in the amount field before passing the data to the BAPI and if it is not populated pass the error message on the screen.
Maybe you are looking for
-
VPDN PPTP server doesn't work after put it into an VRF instance
Originally we have one internet connection for our router which served as a PPTP server at the same time and everything worked well. Recently we got another internet connection, and we want it as a dedicated PPTP server interface. That means all the
-
Setting up my new CalDigit raid, best way?
So my CalDigit S2VRDuo 500Gb raid arrived today and I was about to install it but something made me stop. I am in the middle of a large project that will last until November. At present I have about 250 individual clips (HDV really can be a pain some
-
i have a problem: when a user logs out i invalidate their session but if they click browser 'back' button then they get into a jsp that requires authorization even they no longer have the authorization. How do I fix this?
-
Hello, once upon the time - it was at Java 1.4 - the Java icon for windows could be found in the subdirectory \jre\javaws\JavaCup.ico. Where can that - or a similar - Java icon be found in Java 5 and 6 installations (or elsewhere)? Thomas Wiedmann
-
How can we develop an app that would work within Office365 itself? (similar to Cirrus Insight integration)