Problem in BDC forJ1IS
Hi sapgurus,
i have a problem in time of BDC for J1IS. When BDC running if in J1is screen has more than two items then when i am giving the value in basic ,cess,hcess in more than two items.only one document no is generated .i have seen that in J1IS, two item combined to create one single document no..so,if there is more than two items then it is required to create more than one document no.
When i create it manually it creates more than one document no...
Plz anyone help me..
Thanks in advance..
Hi,
Once the program is executed..It will a BDC session..
THen you have to use the transaction SM35..To process the BDC session..
Thanks,
Naren
Similar Messages
-
Hi All,
I am facing a problem with bdc on va02. After hitting enter on the first screen it pops an info message "consider subsequent douments". It doesn't get recorded in recorded. Hence I am not able to run the transaction with no screen mode. Please help me to suppress the info message
NavinHi Navin,
These kind of messages and pop ups are precisely the reason why use of BDC for updating transactions is NOT advisable.
If you were to bypass such messages, you would have to put a check to see why the message appears (in this case probably because the sales document flow for the sales order in table VBFA has some documents) and then write a logic to either handle the message or not.
Instead i would recommend you use the BAPI functions provided by SAP to change the sales order.
Have a look the BAPI for sales order change attached to the business object BUS2012. For this goto transaction SWO1 and enter the BUS2012 business object. Then goto methods and look for the "change" method. Double click on the method and look at the BAPI used to implement the method. Go ahead and use this method in your program as against a BDC.
I am sure it will be a much better option.
Otherwise if you still want to proceed with a BDC, please debug at the point where the message/pop up appears to ascertain reason for the same and then incorporate the same check in your program to handle the pop up.
Regards,
Aditya -
Hi
I am facing a problem in BDC ,call trasaction, for FB01
While the recording is done, the confi has BSEG-DMBTR field (Local Currecny)
and now its not there is the screen.
If i run my BDC is foreground, it says Field does not exist as sucess message and then i press enter and it let me post the record.
But in Background, its not letting me post the document.
wether its because , in background if any screen elements is message , being a succes message, it doesnot post ?
please helpHi Munish singh,
Actually this error because of currency field.
1) declare the character variable equal to the dmbtr field output length. ex: data: v_dmbtr type c length 18.
2) before passing to the screen field.
3) move itab-dmbtr to v_dmbtr.
condence v_dmbtr.
4) And pass this v_dmbtr to the screen field ....
then your issue positively will resolved.
Dont forgot to Reward me points .....
All the very best....
Regards,
Sreenivasa sarma K. -
Dear All,
Iam facing the problem in BDC Program..the code is..
LOOP AT IT_RECORD.
perform bdc_dynpro using 'SAPMF05A' '0300'.
perform bdc_field using 'BDC_CURSOR' 'RF05A-NEWKO'.
perform bdc_field using 'BDC_OKCODE' '/00'.
perform bdc_field using 'BSEG-WRBTR' IT_RECORD-vramt. "'100000'.
perform bdc_field using 'RF05A-NEWBS' it_record-pkey. "'50'.
perform bdc_field using 'RF05A-NEWKO' it_Record-vrac. "'24450024'.
perform bdc_field using 'DKACB-FMORE' 'X'.
perform bdc_dynpro using 'SAPLKACB' '0002'.
perform bdc_field using 'BDC_CURSOR' 'COBL-GSBER'.
perform bdc_field using 'BDC_OKCODE' '=ENTE'.
perform bdc_field using 'COBL-GSBER' it_record-gsber. "'KABA' .
COUNT = COUNT + 1.
WRITE:/ COUNT.
IF COUNT = 4.
perform bdc_dynpro using 'SAPMF05A' '0302'.
perform bdc_field using 'BDC_CURSOR'
'BSEG-GSBER'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'BSEG-WRBTR' IT_RECORD-VRAMT. "'50000'.
perform bdc_field using 'BSEG-MWSKZ' '**'.
perform bdc_field using 'BSEG-GSBER' IT_RECORD-GSBER ."'kaba'.
perform bdc_field using 'BSEG-ZFBDT' '03.12.2007'.
perform bdc_dynpro using 'SAPMF05A' '0302'.
perform bdc_field using 'BDC_CURSOR'
'BSEG-WRBTR'.
perform bdc_field using 'BDC_OKCODE'
'=BS'.
perform bdc_field using 'BSEG-WRBTR' IT_RECORD-VRAMT. "'50,000.00'.
perform bdc_field using 'BSEG-MWSKZ'
perform bdc_field using 'BSEG-BUPLA' '1800'.
perform bdc_field using 'BSEG-GSBER' IT_RECORD-GSBER."'KABA'.
perform bdc_field using 'BSEG-ZFBDT' '03.12.2007'.
perform bdc_dynpro using 'SAPMF05A' '0700'.
perform bdc_field using 'BDC_CURSOR'
'RF05A-NEWBS'.
perform bdc_field using 'BDC_OKCODE'
'=BU'.
CALL TRANSACTION 'F-02' USING BDCDATA MODE 'A'.
ELSE.
CONTINUE.
ENDIF.
ENDLOOP.
here iam using 4 line item(in text file) ..if count = 4 its not going to next screen, its repeating..its not simulating and posting the doc..
pls guide me friends.hi i send the code here, if u can understand clear it..
report ZBDC_FI_MVF_02 no standard page heading line-size 255.
DATA : BEGIN OF IT_RECORDS OCCURS 0,
BLDAT LIKE BKPF-BLDAT,
BLART LIKE BKPF-BLART,
BUKRS LIKE BKPF-BUKRS,
BUDAT LIKE BKPF-BUDAT,
MONAT LIKE BKPF-MONAT,
WAERS LIKE BKPF-WAERS,
NEWBS LIKE RF05A-NEWBS,
NEWKO LIKE RF05A-NEWKO,
END OF IT_RECORDS.
DATA : BEGIN OF IT_RECORD OCCURS 0,
VRAMT(15), " LIKE BSEG-WRBTR,
PKEY LIKE RF05A-NEWBS,
VrAC(10), " LIKE RF05A-NEWKO,
GSBER LIKE COBL-GSBER,
END OF IT_RECORD.
DATA : BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE,
DATE1 LIKE SY-DATUM,
DATE2 LIKE SY-DATUM,
LOOP(3).
DATA : COUNT(3).
start-of-selection.
PERFORM GET_DATA1.
PERFORM GET_DATA2.
PERFORM PROCESS_DATA.
FORM PROCESS_DATA.
perform bdc_dynpro using 'SAPMF05A' '0100'.
perform bdc_field using 'BDC_CURSOR'
'RF05A-NEWKO'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
date1 = it_RecordS-bldat.
CONCATENATE DATE16(2) DATE14(2) DATE1+0(4) INTO DATE1.
perform bdc_field using 'BKPF-BLDAT' DATE1. "'03.12.2007'.
perform bdc_field using 'BKPF-BLART' IT_RECORDS-BLART. "'SA'.
perform bdc_field using 'BKPF-BUKRS' IT_RECORDS-BUKRS. "'1800'.
date2 = it_RecordS-bUdat.
CONCATENATE DATE26(2) DATE24(2) DATE2+0(4) INTO DATE2.
perform bdc_field using 'BKPF-BUDAT' DATE2. "'03.12.2007'.
perform bdc_field using 'BKPF-MONAT' IT_RECORDS-MONAT. "'9'.
perform bdc_field using 'BKPF-WAERS' IT_RECORDS-WAERS. "'INR'.
perform bdc_field using 'FS006-DOCID' '*'.
perform bdc_field using 'RF05A-NEWBS' IT_RECORDS-NEWBS. "'40'.
perform bdc_field using 'RF05A-NEWKO' IT_RECORDS-NEWKO. "'24450024'.
*perform bdc_field using 'RF05A-NEWBS' IT_RECORDS-PKEY. "'50'.
*perform bdc_field using 'RF05A-NEWKO' IT_RECORDS-VENAC. "'24450024'.
*perform bdc_field using 'DKACB-FMORE' 'X'.
COUNT = '0'.
LOOP AT IT_RECORD.
perform bdc_dynpro using 'SAPMF05A' '0300'.
perform bdc_field using 'BDC_CURSOR' 'RF05A-NEWKO'.
perform bdc_field using 'BDC_OKCODE' '/00'.
perform bdc_field using 'BSEG-WRBTR' IT_RECORD-vramt. "'100000'.
perform bdc_field using 'RF05A-NEWBS' it_record-pkey. "'50'.
perform bdc_field using 'RF05A-NEWKO' it_Record-vrac. "'24450024'.
perform bdc_field using 'DKACB-FMORE' 'X'.
perform bdc_dynpro using 'SAPLKACB' '0002'.
perform bdc_field using 'BDC_CURSOR' 'COBL-GSBER'.
perform bdc_field using 'BDC_OKCODE' '=ENTE'.
perform bdc_field using 'COBL-GSBER' it_record-gsber. "'KABA' .
COUNT = COUNT + 1.
IF COUNT = 4.
clear count.
perform bdc_dynpro using 'SAPMF05A' '0302'.
perform bdc_field using 'BDC_CURSOR'
'BSEG-GSBER'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'BSEG-WRBTR' IT_RECORD-VRAMT. "'50000'.
perform bdc_field using 'BSEG-MWSKZ' '**'.
perform bdc_field using 'BSEG-GSBER' IT_RECORD-GSBER ."'kaba'.
perform bdc_field using 'BSEG-ZFBDT' '03.12.2007'.
perform bdc_dynpro using 'SAPMF05A' '0302'.
perform bdc_field using 'BDC_CURSOR'
'BSEG-WRBTR'.
perform bdc_field using 'BDC_OKCODE'
'=BS'.
perform bdc_field using 'BSEG-WRBTR' IT_RECORD-VRAMT. "'50,000.00'.
perform bdc_field using 'BSEG-MWSKZ'
perform bdc_field using 'BSEG-BUPLA' '1800'.
perform bdc_field using 'BSEG-GSBER' IT_RECORD-GSBER."'KABA'.
perform bdc_field using 'BSEG-ZFBDT' '03.12.2007'.
perform bdc_dynpro using 'SAPMF05A' '0700'.
perform bdc_field using 'BDC_CURSOR'
'RF05A-NEWBS'.
perform bdc_field using 'BDC_OKCODE'
'=BU'.
CALL TRANSACTION 'F-02' USING BDCDATA MODE 'A'.
ELSE.
CONTINUE.
ENDIF.
ENDLOOP.
perform bdc_dynpro using 'SAPMF05A' '0302'.
perform bdc_field using 'BDC_CURSOR'
'BSEG-GSBER'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'BSEG-WRBTR' '50000'.
perform bdc_field using 'BSEG-MWSKZ' '**'.
perform bdc_field using 'BSEG-GSBER' 'kaba'.
perform bdc_field using 'BSEG-ZFBDT' '03.12.2007'.
perform bdc_dynpro using 'SAPMF05A' '0302'.
perform bdc_field using 'BDC_CURSOR'
'BSEG-WRBTR'.
perform bdc_field using 'BDC_OKCODE'
'=BS'.
perform bdc_field using 'BSEG-WRBTR' IT_RECORD-VRAMT. "'50,000.00'.
perform bdc_field using 'BSEG-MWSKZ' '**'.
perform bdc_field using 'BSEG-BUPLA' '1800'.
perform bdc_field using 'BSEG-GSBER' IT_RECORD-GSBER. "'KABA'.
perform bdc_field using 'BSEG-ZFBDT' '03.12.2007'.
perform bdc_dynpro using 'SAPMF05A' '0700'.
perform bdc_field using 'BDC_CURSOR'
'RF05A-NEWBS'.
perform bdc_field using 'BDC_OKCODE'
'=BU'.
perform bdc_transaction using 'F-02'.
*CALL TRANSACTION 'F-02' USING BDCDATA MODE 'A'.
ENDFORM.
Start new screen *
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR BDCDATA.
BDCDATA-PROGRAM = PROGRAM.
BDCDATA-DYNPRO = DYNPRO.
BDCDATA-DYNBEGIN = 'X'.
APPEND BDCDATA.
ENDFORM.
Insert field *
FORM BDC_FIELD USING FNAM FVAL.
IF FVAL <> ' '.
CLEAR BDCDATA.
BDCDATA-FNAM = FNAM.
BDCDATA-FVAL = FVAL.
APPEND BDCDATA.
ENDIF.
ENDFORM.
*& Form GET_DATA
form GET_DATA1 .
CALL FUNCTION 'UPLOAD'
EXPORTING
FILENAME = 'C:\MVF-02_1.txt'
FILETYPE = 'DAT'
TABLES
data_tab = IT_RECORDS
EXCEPTIONS
CONVERSION_ERROR = 1
INVALID_TABLE_WIDTH = 2
INVALID_TYPE = 3
NO_BATCH = 4
UNKNOWN_ERROR = 5
GUI_REFUSE_FILETRANSFER = 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.
endform. " GET_DATA
*& Form GET_DATA2
form GET_DATA2 .
CALL FUNCTION 'UPLOAD'
EXPORTING
FILENAME = 'C:\MVF-02_2.TXT'
FILETYPE = 'DAT'
TABLES
data_tab = IT_RECORD
EXCEPTIONS
CONVERSION_ERROR = 1
INVALID_TABLE_WIDTH = 2
INVALID_TYPE = 3
NO_BATCH = 4
UNKNOWN_ERROR = 5
GUI_REFUSE_FILETRANSFER = 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.
endform. " GET_DATA2 -
Hi I am having a problem in BDC Recording. My requirement is that when I input data in transaction fb02 to block the invoices, It shows a list of invoices. Now i need to double click that item(line) in which PK = 06 at runtime during bdc recording. During BDC recording it takes the line number on which we have clicked which is constant but i want it dynamic that if item 1 is having PK=6, that line should be double clicked and if item 3 is having PK=6, the third item should be double clicked to open another screen. Kindly help me... Thanks in advance.
Hi Ravi,
While writing your code that is in your code you know which line number is having the PK = 06, then you can use the same line number and add the code for double click after that.
Regards,
Atish -
Problem in bdc session method for tcode FS00
Hi Experts,
problem in bdc session method, when i run this program no output is shown.
Even it is not calling the transaction.
code as follows.
*& Report Z_GL_MASTER
*& CATEGORY = BDC.
*& DESCRIPTION = UPLOADING G/L MASTER RECORDS.
*& TECHNICAL CONST = FRANCIS REDDY.
*& FUNTIONAL CONST = FICO.
REPORT Z_GL_MASTER.
*& Internal Table
DATA : BEGIN OF IT_UPLOAD OCCURS 0,
SAKNR LIKE GLACCOUNT_SCREEN_KEY-SAKNR, " ACCOUNT NUMBER.
BUKRS LIKE GLACCOUNT_SCREEN_KEY-BUKRS, " COMPANY CODE.
KTOKS LIKE GLACCOUNT_SCREEN_COA-KTOKS, " ACCOUNT GROUP.
XPLACCT LIKE GLACCOUNT_SCREEN_COA-XPLACCT, " P&L STATEMEMENT.
GVTYP LIKE GLACCOUNT_SCREEN_COA-GVTYP, " P&L STATEMENT TYPE.
XBILK LIKE GLACCOUNT_SCREEN_COA-XBILK, " BALANCE SHEET STATEMENT
SHORT LIKE GLACCOUNT_SCREEN_COA-TXT20_ML, " SHORT TEXT.
LONG LIKE GLACCOUNT_SCREEN_COA-TXT50_ML, " LONG TEXT.
WAERS LIKE GLACCOUNT_SCREEN_CCODE-WAERS, " ACCOUNT CURRENCY.
XSALH LIKE GLACCOUNT_SCREEN_CCODE-XSALH, " ONLY BALANCES IN LOCAL CURRENCY.
MITKZ LIKE GLACCOUNT_SCREEN_CCODE-MITKZ, " RECONCILATION ACCOUNT FOR ACCOUNT TYPEGLACCOUNT_SCREEN_CCODE-MITKZ
XOPVW LIKE GLACCOUNT_SCREEN_CCODE-XOPVW, " OPEN ITEM MANAGEMENT.
XKRES LIKE GLACCOUNT_SCREEN_CCODE-XKRES, " LINE ITEM DISPLAY.
ZUAWA LIKE GLACCOUNT_SCREEN_CCODE-ZUAWA, " SORT KEY.
FSTAG LIKE GLACCOUNT_SCREEN_CCODE-FSTAG, " FIELD STATUS GROUP.
XGKON LIKE GLACCOUNT_SCREEN_CCODE-XGKON, " RELAVENT CASH FLOW.
END OF IT_UPLOAD.
*& Internal Table FOR BDC DATA.
DATA : IT_BDCDATA TYPE BDCDATA OCCURS 0 WITH HEADER LINE.
*& DATA DECLARATIONS.
DATA : V_FILE LIKE RLGRAP-FILENAME.
*& SELECTION SCREEN.
PARAMETER : P_FILE LIKE V_FILE.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
PERFORM GET_FILENAME.
START-OF-SELECTION.
PERFORM UPLOAD_DATA.
PERFORM BDCDATA_OPEN.
PERFORM BDC_POPULATE.
PERFORM BDC_CLOSE.
*& Form GET_FILENAME
form GET_FILENAME .
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = 'P_FILE'
IMPORTING
FILE_NAME = P_FILE.
endform. " GET_FILENAME
*& Form UPLOAD_DATA
form UPLOAD_DATA .
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
FILENAME = P_FILE
FILETYPE = 'DAT'
TABLES
data_tab = IT_UPLOAD.
endform. " UPLOAD_DATA
*& Form BDCDATA_OPEN
FORM FOR BDC_OPEN_GROUP.
form BDCDATA_OPEN .
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
CLIENT = SY-MANDT
GROUP = 'GLMASTER'
HOLDDATE = SY-DATUM
KEEP = 'X'
USER = SY-UNAME.
endform. " BDCDATA_OPEN
*& Form BDC_POPULATE
POPULATING BDC DATA .
form BDC_POPULATE .
loop at it_upload.
PERFORM BDC_SUB1 USING 'X' 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
PERFORM BDC_SUB2 USING 'BDC_OKCODE' '=ACC_CRE'.
PERFORM BDC_SUB2 USING 'BDC_CURSOR' 'GLACCOUNT_SCREEN_KEY-SAKNR'.
PERFORM BDC_SUB2 USING 'GLACCOUNT_SCREEN_KEY-SAKNR' IT_UPLOAD-SAKNR.
PERFORM BDC_SUB2 USING 'GLACCOUNT_SCREEN_KEY-BUKRS' IT_UPLOAD-BUKRS.
PERFORM BDC_SUB1 USING 'X' 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
PERFORM BDC_SUB2 USING 'BDC_OKCODE' '=2102_GROUP'.
PERFORM BDC_SUB2 USING 'BDC_CURSOR' 'GLACCOUNT_SCREEN_COA-KTOKS'.
PERFORM BDC_SUB2 USING 'GLACCOUNT_SCREEN_COA-KTOKS' IT_UPLOAD-KTOKS.
PERFORM BDC_SUB2 USING 'GLACCOUNT_SCREEN_COA-XPLACCT' IT_UPLOAD-XPLACCT.
PERFORM BDC_SUB1 USING 'X' 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
PERFORM BDC_SUB2 USING 'BDC_OKCODE' '=2102_BS_PL'.
PERFORM BDC_SUB2 USING 'GLACCOUNT_SCREEN_COA-GVTYP' IT_UPLOAD-GVTYP.
PERFORM BDC_SUB2 USING 'GLACCOUNT_SCREEN_COA-XBILK' IT_UPLOAD-XBILK.
PERFORM BDC_SUB1 USING 'X' 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
PERFORM BDC_SUB2 USING 'BDC_CURSOR' 'GLACCOUNT_SCREEN_COA-TXT20_ML'.
PERFORM BDC_SUB2 USING 'GLACCOUNT_SCREEN_COA-TXT20_ML' IT_UPLOAD-SHORT.
PERFORM BDC_SUB2 USING 'GLACCOUNT_SCREEN_COA-TXT50_ML' IT_UPLOAD-LONG.
PERFORM BDC_SUB1 USING 'X' 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
PERFORM BDC_SUB2 USING 'BDC_OKCODE' '=TAB02'.
PERFORM BDC_SUB2 USING 'GLACCOUNT_SCREEN_CCODE-WAERS' IT_UPLOAD-WAERS.
PERFORM BDC_SUB2 USING 'GLACCOUNT_SCREEN_CCODE-XSALH' IT_UPLOAD-XSALH.
PERFORM BDC_SUB2 USING 'GLACCOUNT_SCREEN_CCODE-MITKZ' IT_UPLOAD-MITKZ.
PERFORM BDC_SUB2 USING 'GLACCOUNT_SCREEN_CCODE-XOPVW' IT_UPLOAD-XOPVW.
PERFORM BDC_SUB2 USING 'GLACCOUNT_SCREEN_CCODE-XKRES' IT_UPLOAD-XKRES.
PERFORM BDC_SUB2 USING 'GLACCOUNT_SCREEN_CCODE-ZUAWA' IT_UPLOAD-ZUAWA.
PERFORM BDC_SUB1 USING 'X' 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
PERFORM BDC_SUB2 USING 'BDC_OKCODE' '=TAB03'.
PERFORM BDC_SUB2 USING 'GLACCOUNT_SCREEN_CCODE-FSTAG' IT_UPLOAD-FSTAG.
PERFORM BDC_SUB2 USING 'GLACCOUNT_SCREEN_CCODE-XGKON' IT_UPLOAD-XGKON.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
TCODE = 'FS00'
TABLES
dynprotab = IT_BDCDATA.
endloop.
endform. " BDC_POPULATE
*& Form BDC_CLOSE
FORM FOR CLOSING BDC_GROUP
form BDC_CLOSE .
CALL FUNCTION 'BDC_CLOSE_GROUP'.
endform. " BDC_CLOSE
*& Form BDC_SUB1
FORM FOR BDCDATA.
form BDC_SUB1 USING A B C.
CLEAR IT_BDCDATA.
IT_BDCDATA-DYNBEGIN = A.
IT_BDCDATA-PROGRAM = B.
IT_BDCDATA-DYNPRO = C.
APPEND IT_BDCDATA.
endform. " BDC_SUB1
*& Form BDC_SUB2
text
form BDC_SUB2 USING A B.
CLEAR IT_BDCDATA.
IT_BDCDATA-FNAM = A.
IT_BDCDATA-FVAL = B.
APPEND IT_BDCDATA.
endform. " BDC_SUB2
Points will be rewarded.
Thanks in advance.
Francis.Hi,
Once the program is executed..It will a BDC session..
THen you have to use the transaction SM35..To process the BDC session..
Thanks,
Naren -
Syntax problem with BDC perform
Dear Friends,
small problem in BDC Perform syntax but I am not getting how to do this..
I have writen the code like this in my BDC byt its throughing the error...Here I want to do the validation on each and every field. I mean If that field values are empty i don't want to change the SAP field value.
my code is like this.
PERFORM dynpro USING:
'X' 'SAPLMGMM' '0080'.
IF NOT p_int_matl-werks IS INITIAL.
' ' 'RMMG1-WERKS' p_int_matl-werks.
ENDIF.
IF NOT p_int_matl-werks IS INITIAL.
' ' 'RMMG1-LGORT' p_int_matl-lgort.
ENDIF.
' ' 'BDC_OKCODE' '/00'.
pls give me exact code how to do this...
Thanks
SridharHi sridher,
1. this kind of syntax ie. IF will give error.
2. If ur requirement is : blank value should not be put in bdc,
3. then one way is to change / write the logic
inside the form itself.
4. ie. inside the routine/form DYNPRO.
5. So, it will be then general for all performs.
regards,
amit m. -
Problem in BDC while going back to previous screen in FB60
Dear All,
I have a problem in BDC my BDc stops when it tries to go back to previous screen then manually i have to click on the back button then it gets posted. the previous screen recording for FB60 is
SAPMSSY0 0120 X
BDC_CURSOR 16/32
BDC_OKCODE =&IC1
When we do back by clicking on the screen is not getting recorded. Kindly suggest a suitable Solution for the same.
ReagrdsFB60 is an EnjoySAP transaction and not well suited to batch input (look for notes). Better to use a BAPI or batch input on FB01.
Rob -
Hi Experts,
I m facing a problem while doing the BDC for F-32, i want to make Normal OI check field as Uncheck through BDC , while recording i have uncheck the check box and the field value appears to be ' ' in the recording , but when i process the BDC the field remains CHECKED by Default.
pls help how can i unchecked the field.
I have tried it by puting the value of the field 'X' also but still it remains checked .
pls help me how can i UNCHECKED the Normal OI screen field .Hi
The output format of an amonut is managed by the currency, you shouldn't have any particular problem,
In BDC program the field to be used to transfer the amount has to be char, so probably the easier solution is to write it into the bdc field in according to the currency:
WRITE <AMOUNT> CURRENCY <CUURENCY> TO <BDC FIELD>.
Max -
Problem in BDC for F-02 -- Currency Problem
Dear Experts,
I have written a BDC for F-02 to upload the opening balances of vendors.
Problem is , this BDC is for Libya country, where decimal places is 3.
Now when i run my BDC, if the amount is 22.54, it will upload it as 22.540, which is ok, but if the amount is 22.543, it upload it as 22.540 instead of 22.543.
can one provide some guidance in this....
Regards,
MaverickHi
The output format of an amonut is managed by the currency, you shouldn't have any particular problem,
In BDC program the field to be used to transfer the amount has to be char, so probably the easier solution is to write it into the bdc field in according to the currency:
WRITE <AMOUNT> CURRENCY <CUURENCY> TO <BDC FIELD>.
Max -
Hi all,
1) i got a problem in BDC i.e suppose i have a flat file that is having 10 records
but my problem is i want to update first 8 records only using Call transaction
so where will do this and what is the logic for this . for both cases i.e Call transaction & session methods?
good rewards for replay,
regards,
sudharsanOnce you upload the file into an internl table,
delete the last two rows from the internal table.
call function GUI_UPLOAD
describe table itab lines v_lines.
delete table itab index v_lines.
v_lines = v_lines - 1.
delete table itab index v_lines.
then do your call transaction or BDC session method.
Regards,
Ravi -
PROBLEM IN BDC F-04 --NO PAGE DOWN
HI
Experts,
Getting problem in bdc for f-04 , The data is split on basis of
business area (gsber) , and for one business area there are more
then 2000 document number, till the screen of doc.no the data is
coming into fields but i have to put all the doc number for that
b.area. And only i can enter 16 doc.no as there is no page down i
have to enter so that it takes another 16 doc.no .
but i tried it by at new command and then i tried it by on chage of
but it picks only first doc.no its not piclking all doc.no.
LOOP AT i_final.
MOVE i_final TO wa_itab.
ON CHANGE OF wa_itab-gsber .
CLEAR w_count.
PERFORM bdc_dynpro USING 'SAPMF05A' '0122'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RF05A-NEWKO'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BKPF-BLDAT'
wa_itab-bldat . "'27.07.2006'.
PERFORM bdc_field USING 'BKPF-BLART'
wa_itab-blart. "'SA'.
PERFORM bdc_field USING 'BKPF-BUKRS'
wa_itab-bukrs. "'NPIL'.
PERFORM bdc_field USING 'BKPF-BUDAT'
wa_itab-budat. "'27.07.2006'.
PERFORM bdc_field USING 'BKPF-WAERS'
wa_itab-waers. "'INR'.
PERFORM bdc_field USING 'BKPF-XBLNR'
wa_itab-xblnr. "'INR'.
PERFORM bdc_field USING 'BKPF-BKTXT'
wa_itab-bktxt. "'INR'.
PERFORM bdc_field USING 'RF05A-XPOS1(04)'
wa_itab-xpos1.
PERFORM bdc_field USING 'RF05A-NEWBS'
wa_itab-newbs. "'50'.
PERFORM bdc_field USING 'RF05A-NEWKO'
wa_itab-newko. "'9991010'.
PERFORM bdc_dynpro USING 'SAPMF05A' '0300'.
PERFORM bdc_field USING 'BDC_CURSOR'
'BSEG-WRBTR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=PA'.
PERFORM bdc_field USING 'BSEG-WRBTR'
wa_itab-wrbtr. "'826532.58'.
PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.
PERFORM bdc_field USING 'BDC_CURSOR'
'COBL-FIPOS'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTE'.
PERFORM bdc_field USING 'COBL-GSBER'
wa_itab-gsber. "'1101'.
PERFORM bdc_field USING 'COBL-PRCTR'
wa_itab-prctr. "'2000'.
PERFORM bdc_dynpro USING 'SAPMF05A' '0710'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RF05A-XPOS1(03)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=PA'.
PERFORM bdc_field USING 'RF05A-AGKON'
wa_itab-agkon. "'2810200'.
PERFORM bdc_field USING 'RF05A-XPOS1(03)'
'X'.
ENDON.
PERFORM bdc_dynpro USING 'SAPMF05A' '0731'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RF05A-SEL01(06)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=PA'.
w_count = w_count + 1.
CONCATENATE 'RF05A-SEL01(' w_count ')' INTO w_bdc.
PERFORM bdc_field USING w_bdc
wa_itab-sel01.
IF w_count >= 16.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
w_count = 0.
ENDIF.
ENDON.
AT END OF gsber.
*IF W_FLAG = 'X'.
PERFORM bdc_dynpro USING 'SAPDF05X' '3100'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=BU'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RF05A-ABPOS'.
PERFORM bdc_field USING 'RF05A-ABPOS'
'1'.
PERFORM bdc_transaction USING 'F-04'.
ENDAT. "At end of
*ENDIF.
ENDLOOP.
PERFORM close_group.Iam doing a bdc for F-04 (post with clearing header date)
i got a file in which the data is splited on business area wise,
and when i enter the details on first screen
with post key 40 and enter after entering the details here like
busines area profit cenrter i have to click
process open item .
here i have to select the doc.no and enter acct no and again
have to process the open item .. where exactly my problem is
when i process it i will get ascreen in which
the doc.no are
from to
and i can enter only 16 doc no here but where as there are more
then 50 doc number for one businees area in file ..there is
HOPE U GOT MY POINT NOW .
REGARDS -
hello expert,
I had a problem on BDC . it is that after recording , I want to upload my pc file to the server ,then change the material description . (I record TRX MM02).
after I upload the local file to the server , when I execute the BDC session , it poped up a window shows 'select at least one view',
I just wandered how to skip this popup window , I just only want to see the view of BASIC DATA1 .
Kind Regards
NickHi,
You need to do the recording again. It seems you recording file is not complete.
While recording perform the steps for update in the way you want you system
do to it for you.
Also check whether you are calling MM02 or MM01 while calling the BDC.
Regards,
Prakash Pandey -
Problem in BDC for VA01 transaction TEXTS tab(Upgrading from 4.5b to ECC6)
Hi All,
I am working in upgrade project from 4.5b version to ECC6 version.
I am facing problem in TEXTS tab of VA01 transaction. In earlier version it is a table control containing of Language, Description & First line but, in ECC6 the screen is modified with texteditor, a list box for language key and a Text type at the left.
Now my problem is how to record this in BDC and how to read the text in the texteditor?
Thanks in Advance,
Ravi Kiran.Hi Seshagiri,
In this case i would suggest the use of BAPI if there's no compulsion to use BDC.
BAPI_SALESORDER_CHANGE Sales order: Change Sales Order
BAPI_SALESORDER_CONFIRMDELVRY
BAPI_SALESORDER_CREATEFROMDAT1 Sales order: Create Sales Order
BAPI_SALESORDER_CREATEFROMDAT2 Sales order: Create Sales Order
BAPI_SALESORDER_CREATEFROMDATA Create Sales Order, No More
BAPI_SALESORDER_GETLIST Sales order: List of all Orders for Customer
BAPI_SALESORDER_GETSTATUS Sales Order: Display Status
BAPI_SALESORDER_SIMULATE Sales Order: Simulate Sales Order
try using these for creation or change of orders instead of bdcs.
hope this helps and revert for more clarifications if any.
<b>Always reward points to useful suggestions.</b>
regards,
Vikas -
Hii all,
I have develop a BDC for transaction pa30( for 2013 infotype ).
DATA: MODE1 TYPE C VALUE 'N',
UPDT1 TYPE C VALUE 'A'.
CALL TRANSACTION 'PA30' USING BDCDATA
MODE MODE1
UPDATE UPDT1
MESSAGES INTO MESSTAB.
If any one open pa30 for any employy and the same time if i run that bdc for that particular employee
it shows an error message.
Problem :If i try to upload data in pa30 for multiple employee and the first employee is lock by some other user then the erroe messege coming that all other employee also lock.
But if first employee is not locked but second employee locked then the the first employee's data update successfully,for second employee shows a message that the employee is locked by some other user.In the selection screen if there is 3rd employee that also update successfully.
plz help.
Edited by: sk2789 on Feb 18, 2011 5:07 AM
Moderator message: please use more descriptive subject lines for your posts.
Edited by: Thomas Zloch on Feb 18, 2011 3:23 PMLOOP AT employee.
PERFORM check_lock_data.
IF v_lock_flag = 'X'.
CONTINUE.
ELSE.
PERFORM bdc_upload.
ENDIF.
CLEAR v_lock_flag.
ENDLOOP.
FORM check_lock_data.
TABLES: rp50g.
rp50g-pernr = '00003'. "Your Pernr from LOOP
DATA message_handler TYPE REF TO if_hrpa_message_handler.
DATA message_list TYPE REF TO cl_hrpa_message_list.
DATA message_tab TYPE hrpad_message_tab.
DATA mess_wa TYPE hrpad_message.
DATA is_ok TYPE boole_d.
CREATE OBJECT message_list.
message_handler = message_list.
*ensure that sapfp50p is loaded
PERFORM do_nothing IN PROGRAM sapfp50p.
CALL METHOD cl_hrpa_masterdata_enq_deq=>enqueue_by_pernr
EXPORTING
tclas = 'A'
pernr = rp50g-pernr
message_handler = message_handler
IMPORTING
is_ok = is_ok.
IF is_ok NE 'X'.
Set your error flag
v_lock_flag = 'X'.
ENDIF.
ENDFORM.
Let me know if it works.
Thanks,
Prasoon Sahay
Edited by: Prasoon Sahay on Feb 18, 2011 5:30 PM
Maybe you are looking for
-
XML Publisher 5.6.2 Document Processor Engine
Would I be correct in assuming that sending the xapi: tags through the regular concurrent request engine would be a fultile exercise in order to burst an invoice batch into multiple PDFs? Could somebody please confirm that I must use a JAVA concurren
-
Why is the French Siri version so unaccomplished....?
and moreover, when I call the customer's service for some news or information that we as clients are entitled to have, the salesman barely understands french,obviously has no Apple culture, ( has propably never manipulated any Apple product in his li
-
Ati & vaio = overheat &loud fan
since a few months I was very annoyed with the loud fan and overheated laptop (70-90º). reboot to windows and all normally. i try everything.. believeme.. yesterday, while moving teamviewer's wine window with Mod4key (windows' super key) and mouse (d
-
Hi, We need to create multiple reports using FSG. For some of the reports the rows will be common and columns will change based on a segment in COA. Example: A company having multiple office such as regional office, divisional office and branches. Al
-
BT telephone and broadband package
Hello, I am currently paying telephone line rental to BT (Line Rental Saver) and have a Carrier Pre Select (CPS) service (Sky Talk Unlimited) on my line. My current broadband provider is O2 ADSL Standard (legacy). I was thinking of switching all my