BAPI for writing BSEG-BUPLA in 4.6C??
Hi,
Is there any bapi to write BSEG-BUPLA in TAX items while posting document
(TR F-02 or FB01)?? I am using 4.6C...
Thanks,
Nihad
Hi Somnath,
You are correct probably.I will be writing time series key figure.But please let me confirm that.But the BAPI BAPI_PBSRVAPS_CHANGEKEYFIGVAL2 does not exists in APO system ...instead BAPI_PBSRVAPS_CHANGEKEYFIGVAL exists...
I will explain my exact requirement...I need to take data from a data base table that i created...
Means i will be having Product, location, forecast quantity, UOM...i would not be having planning book or data view with me....
And the purpose of loding data in the data base table and from there to the planniing area is that we can remove BW interfacing...
I think with this clear picture you can provide me something to me...
Anyways thanks a lot for taking time for my qury...
looking forward to your reply..
thanks a lot,
Chandan Dubey
Similar Messages
-
BAPI for writing MM Info-records to database
Hi,
I am searching for a bapi to write purchasing info-records into the database. What I already found is BAPI_INFORECORD_GETLIST, but this only reports a list of records. But I need to enter data into the tables EINA, EINA A017 etc. Can anybody help me, i do not want to write a batch-input and would prefer to use a BAPI. SAP-Version used is 4.6C - pretty antic I know but that is what we have here.
Greetings uliSAP has given a standard way of uploading Purchase Info Records through LSMW.
You can upload data Direct Input through LSMW by using Object 0060.
You need to map your local files w.r.t structure of source files for LSMW.
Regards
Vinayak -
Hi all,
I have to retrieve the invoice verification due date given the following:
Retrieve batch number from item level of billing (VBRP-CHARG)
Pick up purchase order number from batch master data MCH1
Based on PO number, retrieve invoice verification number (EKBE-BELNR) where :
1. EKBE-EBELN = PO Number
2. EKBE-VGABE = 2
Based on Invoice receipt number, pick up due data on BSEG-FDTAG where BSEG-BLNR is equal with above invoice verification number.
I've done the first bullet point but don't know how to proceed. How can i pick up the purchase order number, do we have any BAPI for that?
Thanks!Used FM VB_BATCH_GET_DETAIL to get PO number
-
Input needed for writing data back into BW/ECC data
Hello Everyone,
Can anyone please let me know an example or process you have used for writing data back into BW (DSO/Cubes) or ECC systems.
We do not have integrated planning in our current system configuration currently.
So, any sample code for using any of the BAPI/RFC for writing data would be appreciated.
Also, I am trying to find out if there is any way to schedule the models developed in VC 7.1 in background to automate certain type of data processing which goes across multiple systems.
Any help would be appreciated.
Thanks.Hello,
Can anyone please help me out on this one....
I am aware of few BAPI's such as RSDRI_ODSO_INSERT_RFC but I am not aware of what action has to be used to transfer the data from the table within VC to this BAPI and how to define the parameters as the one's available for the BAPI I mentioned do not fit into the data I have in the table within VC.
The following are the columns I have in the table within VC,
1. GL Account
2. Credit Amount
3. Debit Amount
4. Sales Amount
I have defined the DSO with the same where G/L Account is the keyfield and the rest being data fields.
Any help would be really appreciated.
Thanks. -
BAPI for customer Block/Unblock through transaction code : XD05
Hi Gurus,
I want to block/unblock customer sales areas(Transaction code : XD05) through program. Could you please suggest any BAPI for the same. As writing BDC will not be a good choice.
Please help.
Thanks,
BhupenderHello Bhupender,
the best and easies solution is the MASS maintenance transaction as proposed above.
For the BAPI question, sorry but there is NO BAPI to maintain a customer master data.
The function module provided by my predecessor, even if it has the perfect look like is definitively not the one to use.
Despite the name, this FM is designed to support only the maintenance of CONSUMERs.
Moreover it is not an RFC enabled function module.
It might work in your case, as the data to maintain is quite simple and limited but you still may face several troubles like NO change documents and change pointers created and/or no synchronisation with TREX, CRM, ...
There is also a BAPI with a nice name, but in fact it is designed to be used only with SAP Online Store and SAP Product Catalog.
The only reliable path for investigation is described within [note 384462|https://service.sap.com/sap/support/notes/384462].
A other path for investigation is the class CMD_EI_API which has been introduced with ECC 2005 (6.00).
You could wrap method MAINTAIN_BAPI inside of a bapi function module you would have written.
Otherwise, but still with limited functionality there are some eSOA webservices to find, read, maintain customer master data.
Hope this helps.
BR
Alain -
BDC / Bapi For Post Incoming Payment (F-28)
Hi
Im creating BDC for F-28. But it got error coming out.
>> It says DB05B-PSZAH(02) is not an input field.
What I do is: First, I search for Line Item then Document Number. Then It return to basic list. Then I loop again for the second Line Item Number and Document Number.
I can activate the first amount but cannot for the next amount and so on.
Anybody could help me on this??
Is there any BAPI for Post Incoming Payment (F-28)?
Thank you.
Regards.i dont think there is a BAPI for this Transaction...
i have done a BDC on F-28 myself....pasting the code....hope it helps you....
*******NOTE********
the parameter in the subroutine is to see if there is a single document or multiple documents being posted.
FORM fill_bdc_data_f-28_9005 USING p_i_mult_doc TYPE c.
**BDC from screen 9005
DATA : l_amt_bdc(13), l_amt_bdc_remain(13), l_amt_bdc_mult(13),
l_amt_bdc_mult_remain(13), l_assignment(14), l_period(2),
l_amount(13).
CLEAR t_bdcdata.
REFRESH t_bdcdata.
PERFORM bdc_dynpro USING 'SAPMF05A' '0103'.
PERFORM bdc_field USING 'BDC_OKCODE' '=AB'. "OK CODE - doc overview
**get user default date format and pass date in that format
PERFORM convert_date_to_user_format USING bkpf-bldat.
PERFORM bdc_field USING 'BKPF-BLDAT' w_date. "cheque date
CLEAR w_date.
PERFORM bdc_field USING 'BKPF-BLART' i_blart. "doc type
PERFORM bdc_field USING 'BKPF-BUKRS' i_bukrs. "comp code
**get user default date format and pass date in that format
PERFORM convert_date_to_user_format USING bkpf-budat.
PERFORM bdc_field USING 'BKPF-BUDAT' w_date. "posting date
CLEAR w_date.
l_period = sy-datum+4(2).
PERFORM bdc_field USING 'BKPF-MONAT' l_period. "period
PERFORM bdc_field USING 'BKPF-WAERS' 'INR'. "currency
PERFORM bdc_field USING 'BKPF-BKTXT' i_bankl. "doc. hdr. text
PERFORM bdc_field USING 'BKPF-XBLNR' i_xblnr. "Ref. Document No.
PERFORM bdc_field USING 'BSEG-ZUONR' i_zuonr. "Assignment(Depot Code)
PERFORM bdc_field USING 'RF05A-KONTO' i_bank_gl. "Bank GL acc
PERFORM bdc_field USING 'BSEG-GSBER' i_gsber. "Business Area
l_amount = bseg-wrbtr.
PERFORM bdc_field USING 'BSEG-WRBTR' l_amount. "Amount
PERFORM bdc_field USING 'BSEG-PRCTR' ''. "Profit Center
**open items data
PERFORM bdc_field USING 'RF05A-AGKOA' 'D'. "Acc type (D=customers)
PERFORM bdc_field USING 'RF05A-XNOPS' 'X'. "Std OIs check box
**end of first screen
**document overview screen
PERFORM bdc_dynpro USING 'SAPMF05A' '0700'. "Overview Screen
PERFORM bdc_field USING 'BDC_CURSOR' 'RF05A-AZEI1(01)'. "cursor
PERFORM bdc_field USING 'BDC_OKCODE' '/00'. "OK CODE
PERFORM bdc_field USING 'RF05A-NEWBS' '19'. "posting key
PERFORM bdc_field USING 'RF05A-NEWKO' i_kunnr. "customer
PERFORM bdc_field USING 'RF05A-NEWUM' 'B'. "Spl GL Indicator
**for single document selected
CLEAR l_amt_bdc.
IF p_i_mult_doc = ''.
***new screen - next line item
PERFORM bdc_dynpro USING 'SAPMF05A' '0303'.
PERFORM bdc_field USING 'BDC_OKCODE' '=BU'. "OK CODE
**for single document, use the bouncing amount calculated earlier
l_amt_bdc = w_amt_ant_bouncing.
PERFORM bdc_field USING 'BSEG-WRBTR' l_amt_bdc. "amount
**due date - same as posting date on screen
**get user default date format and pass date in that format
PERFORM convert_date_to_user_format USING bkpf-budat.
PERFORM bdc_field USING 'BSEG-ZFBDT' w_date. "due date
CLEAR w_date.
**assignment
CLEAR l_assignment.
CONCATENATE t_seldoc_ant_bouncing-belnr
t_seldoc_ant_bouncing-gjahr INTO l_assignment.
PERFORM bdc_field USING 'BSEG-ZUONR' l_assignment. "assignment
PERFORM bdc_field USING 'BSEG-GSBER' i_gsber.
**if there is some remaining amount, then go for another line item
IF w_rem_amt_ant_bouncing > 0.
PERFORM bdc_field USING 'RF05A-NEWBS' '15'. "posting key
PERFORM bdc_field USING 'RF05A-NEWKO' i_kunnr. "customer
**new screen
PERFORM bdc_dynpro USING 'SAPMF05A' '0301'.
PERFORM bdc_field USING 'BDC_CURSOR' 'BSEG-ZTERM'. "CURSOR
PERFORM bdc_field USING 'BDC_OKCODE' '=BU'. "OK CODE-ENTER
l_amt_bdc_remain = w_rem_amt_ant_bouncing.
PERFORM bdc_field USING 'BSEG-WRBTR' l_amt_bdc_remain.
PERFORM bdc_field USING 'BSEG-ZTERM' '0001'.
**AGAIN
PERFORM bdc_dynpro USING 'SAPMF05A' '0301'.
PERFORM bdc_field USING 'BDC_CURSOR' 'BSEG-WRBTR'. "CURSOR
PERFORM bdc_field USING 'BDC_OKCODE' '=BU'. "OK CODE-SAVE
PERFORM bdc_field USING 'BSEG-WRBTR' l_amt_bdc_remain.
PERFORM bdc_field USING 'BSEG-ZTERM' '0001'. "pmt term -hardcoded
PERFORM bdc_field USING 'BSEG-SKFBT' l_amt_bdc_remain.
ENDIF.
**multiple documents
ELSE.
**initialize remaining amount to amt entered on screen
l_amt_bdc_mult_remain = bseg-wrbtr.
LOOP AT t_seldoc_ant_bouncing.
IF l_amt_bdc_mult_remain > 0.
IF bseg-wrbtr > t_seldoc_ant_bouncing-rem_amt.
l_amt_bdc_mult = t_seldoc_ant_bouncing-rem_amt.
ELSE.
l_amt_bdc_mult = bseg-wrbtr.
ENDIF.
**remaining amt = screen amt - amt calculated above.
l_amt_bdc_mult_remain = l_amt_bdc_mult_remain - l_amt_bdc_mult.
PERFORM bdc_dynpro USING 'SAPMF05A' '0303'.
PERFORM bdc_field USING 'BDC_OKCODE' '=BU'. "OK CODE
PERFORM bdc_field USING 'BSEG-WRBTR' l_amt_bdc_mult. "amount
PERFORM bdc_field USING 'BSEG-GSBER' i_gsber. "Business Area
**due date - same as posting date on screen
**get user default date format and pass date in that format
PERFORM convert_date_to_user_format USING bkpf-budat.
PERFORM bdc_field USING 'BSEG-ZFBDT' w_date. "due date
CLEAR w_date.
**assignment
CLEAR l_assignment.
CONCATENATE t_seldoc_ant_bouncing-belnr
t_seldoc_ant_bouncing-gjahr INTO l_assignment.
PERFORM bdc_field USING 'BSEG-ZUONR' l_assignment. "assignment
**posting key 19 for all but last document
PERFORM bdc_field USING 'RF05A-NEWBS' '19'. "posting key
PERFORM bdc_field USING 'RF05A-NEWKO' i_kunnr. "customer
PERFORM bdc_field USING 'RF05A-NEWUM' 'B'. "Spl GL
ENDIF.
ENDLOOP.
ENDIF.
**post remaining amount
IF p_i_mult_doc = 'X'.
**new screen if there is some amount left
IF l_amt_bdc_mult_remain > 0.
**posting key 15 with remaining amount
PERFORM bdc_field USING 'RF05A-NEWBS' '15'. "posting key
PERFORM bdc_field USING 'RF05A-NEWKO' i_kunnr. "customer
PERFORM bdc_field USING 'RF05A-NEWUM' ''. "Spl GL
**new screen
PERFORM bdc_dynpro USING 'SAPMF05A' '0301'.
PERFORM bdc_field USING 'BDC_OKCODE' '=BU'. "OK CODE
PERFORM bdc_field USING 'BSEG-WRBTR' l_amt_bdc_mult_remain.
PERFORM bdc_field USING 'BSEG-ZTERM' '0001'. "pmt term - hardcoded
ELSE.
**if no amount is left, no need for a further line item
PERFORM bdc_field USING 'RF05A-NEWBS' ''. "posting key
PERFORM bdc_field USING 'RF05A-NEWKO' ''. "customer
PERFORM bdc_field USING 'RF05A-NEWUM' ''. "Spl GL
ENDIF.
ENDIF.
**clear variables
CLEAR : l_amount, l_assignment, l_amt_bdc,
l_amt_bdc_remain,l_amt_bdc_mult, l_amt_bdc_mult_remain.
ENDFORM. " fill_bdc_data_F-28_9005 -
BAPI for change documents like FB09
Hi
I need to change the Assignment Number (ZUONR) Field for several document positions just like FB09 ,
Does somebody knows a BAPI for change document positions (BSEG) ?
Regards
FrankHi,
Please see this link, It may help you.
Add documents to materials via BAPI
Regards,
Shamma -
Dear All,
I needs to write a BDC For the Tr F-54. Can any one tell me is there any BAPI for
the Clear vendor down payments(F-54). Plz help me.
Thanks & Regards,
Durai.THi
i m sending u the code for BDCFOR F-64 that is to park the document for customer and vendor so it has two recording customer and vendor..
Just see to it
and do reward points pls...
REPORT ZFI_F64_TOS
NO STANDARD PAGE HEADING LINE-SIZE 255.
*include bdcrecx1.
**======================================================
**DATA DECLARATION FOR CUSTOMER
**=======================================================
TYPES : BEGIN OF TY_BSEG,
BELNR TYPE BSEG-BELNR, "Doc no
ZFBDT TYPE BSEG-ZFBDT, "base line date
ZTERM TYPE BSEG-ZTERM, " payment terms
ZLSCH TYPE BSEG-ZLSCH, " pay. mode
VALUT TYPE BSEG-VALUT, " valut date
FIPOS TYPE BSEG-FIPOS, " commitment line
END OF TY_BSEG.
TYPES: BEGIN OF TY_KNB1,
KUNNR TYPE KNB1-KUNNR,
BUKRS TYPE KNB1-BUKRS,
ZWELS TYPE KNB1-ZWELS,
ZTERM TYPE KNB1-ZTERM,
END OF TY_KNB1.
TYPES : BEGIN OF TY_RECO,
SRNO TYPE I,
BLDAT_001(010), " BLDAT
BLART_002(002), " BLART
BUKRS_003 TYPE BSEG-BUKRS, " BUKRS
BUDAT_004(010), " BUDAT
MONAT_005(002), " MONAT
WAERS_006(005), " WAERS
XBLNR_007(016), " XBLNR1
BKTXT_008(025), " BKTXT
XBWAE_009(001), " XBWAE
DOCID_010(010), " SAEOBJART
NEWBS_011(002), " NEWBS
NEWKO_012 TYPE BSEG-KUNNR ,"(017), " NEWKO
WRBTR_013(016), " WRBTR
XMWST_014(001), " XMWST
MWSKZ_015(002), " MWSKZ
ZTERM_016(004), " DZTERM
ZFBDT_017(010), " DZFBDT
ZLSCH_018(001), " SCHZW_BSEG
NEWBS_019(002), " NEWBS
NEWKO_020(017), " NEWKO
WRBTR_021(016), " WRBTR
MWSKZ_022(002), " MWSKZ
XMWST_023(001), " XMWST
VALUT_024(010), " VALUT
FMORE_025(001), " FMORE
GSBER_026(004), " GSBER
FIPEX_027(024), " FM_FIPEX
FIPOS_028(024), " FIPOS
QTY(024),
UOM(020),
FIELD_13_029(032), " EIGXX
FIELD_15_030(032), " EIGXX
FIELD_09_031(032), " EIGXX
FIELD_10_032(032), " EIGXX
FIELD_11_033(032), " EIGXX
FIELD_12_034(032), " EIGXX
FIELD_13_035(032), " EIGXX
FIELD_14_036(032), " EIGXX
FIELD_15_037(032), " EIGXX
GSBER_038(004), " GSBER
PRCTR_039(010), " PRCTR
FIPEX_040(024), " FM_FIPEX
FIPOS_041(024), " FIPOS
NEWBS_042(002), " NEWBS
NEWKO_043(017), " NEWKO
MWSKZ_044(002), " MWSKZ
XMWST_045(001), " XMWST
VALUT_046(010), " VALUT
FMORE_047(001), " FMORE
FIPEX_048(024), " FM_FIPEX
FIPOS_049(024), " FIPOS
END OF TY_RECO.
TYPES: BEGIN OF RECORD_CUST ,
SRNO TYPE I,
data element: BLDAT
BLDAT_001(010),
data element: BLART
BLART_002(002),
data element: BUKRS
BUKRS_003(004),
data element: BUDAT
BUDAT_004(010),
data element: MONAT
MONAT_005(002),
data element: WAERS
WAERS_006(005),
data element: XBLNR1
XBLNR_007(016),
data element: BKTXT
BKTXT_008(025),
data element: XBWAE
XBWAE_009(001),
data element: SAEOBJART
DOCID_010(010),
data element: NEWBS
NEWBS_011(002),
data element: NEWKO
NEWKO_012(017),
data element: WRBTR
WRBTR_013(016),
data element: XMWST
XMWST_014(001),
data element: MWSKZ
MWSKZ_015(002),
data element: DZTERM
ZTERM_016(004),
data element: DZFBDT
ZFBDT_017(010),
data element: SCHZW_BSEG
ZLSCH_018(001),
data element: NEWBS
NEWBS_019(002),
data element: NEWKO
NEWKO_020(017),
data element: WRBTR
WRBTR_021(016),
data element: MWSKZ
MWSKZ_022(002),
data element: XMWST
XMWST_023(001),
data element: VALUT
VALUT_024(010),
data element: FMORE
FMORE_025(001),
data element: GSBER
GSBER_026(004),
data element: FM_FIPEX
QTY(024),
UOM(020),
FIPEX_027(024),
data element: FIPOS
FIPOS_028(024),
data element: EIGXX
FIELD_13_029(032),
data element: EIGXX
FIELD_15_030(032),
data element: EIGXX
FIELD_09_031(032),
data element: EIGXX
FIELD_10_032(032),
data element: EIGXX
FIELD_11_033(032),
data element: EIGXX
FIELD_12_034(032),
data element: EIGXX
FIELD_13_035(032),
data element: EIGXX
FIELD_14_036(032),
data element: EIGXX
FIELD_15_037(032),
data element: GSBER
GSBER_038(004),
data element: PRCTR
PRCTR_039(010),
data element: FM_FIPEX
FIPEX_040(024),
data element: FIPOS
FIPOS_041(024),
data element: NEWBS
NEWBS_042(002),
data element: NEWKO
NEWKO_043(017),
data element: MWSKZ
MWSKZ_044(002),
data element: XMWST
XMWST_045(001),
data element: VALUT
VALUT_046(010),
data element: FMORE
FMORE_047(001),
data element: FM_FIPEX
FIPEX_048(024),
data element: FIPOS
FIPOS_049(024),
END OF RECORD_CUST.
End generated data section ***
DATA : RECORD TYPE STANDARD TABLE OF RECORD_CUST,
WA_RECORD TYPE RECORD_CUST.
DATA : IT_RECO TYPE STANDARD TABLE OF TY_RECO,
WA_RECO TYPE TY_RECO,
IT_RECO1 TYPE STANDARD TABLE OF RECORD_CUST,
WA_RECO1 TYPE RECORD_CUST,
WA_RECO2 TYPE RECORD_CUST.
DATA : TEMP TYPE I.
DATA : IT_BSEG TYPE STANDARD TABLE OF TY_BSEG,
WA_BSEG TYPE TY_BSEG.
DATA : IT_KNB1 TYPE STANDARD TABLE OF TY_KNB1,
WA_KNB1 TYPE TY_KNB1.
DATA: BDCDATA TYPE STANDARD TABLE OF BDCDATA ,
WA_BDCDATA TYPE BDCDATA,
MESSTAB TYPE STANDARD TABLE OF BDCMSGCOLL ,
WA_MESSTAB TYPE BDCMSGCOLL.
**======================================================
**DATA DECLARATION FOR VENDOR
**=======================================================
TYPES : BEGIN OF TY_BSEG_VEN,
BELNR TYPE BSEG-BELNR, "Doc no
ZFBDT TYPE BSEG-ZFBDT, "base line date
ZTERM TYPE BSEG-ZTERM, " payment terms
ZLSCH TYPE BSEG-ZLSCH, " pay. mode
VALUT TYPE BSEG-VALUT, " valut date
FIPOS TYPE BSEG-FIPOS, " commitment line
ZBD1T TYPE BSEG-ZBD1T, " NO OF DAYS
ZLSPR TYPE BSEG-ZLSPR, " STOP PAYMENT
FISTL TYPE BSEG-FISTL, " FUND CENTER
END OF TY_BSEG_VEN.
TYPES: BEGIN OF TY_LFB1,
LIFNR TYPE LFB1-LIFNR,
BUKRS TYPE LFB1-BUKRS,
ZWELS TYPE LFB1-ZWELS,
ZTERM TYPE LFB1-ZTERM,
END OF TY_LFB1.
TYPES : BEGIN OF TY_RECO_VEN,
SRNO TYPE I,
BLDAT_001(010),
BLART_002(002),
BUKRS_003 TYPE BSEG-BUKRS ,
BUDAT_004(010),
MONAT_005(002),
WAERS_006(005),
XBLNR_007(016),
BKTXT_008(025),
XBWAE_009(001),
DOCID_010(010),
NEWBS_011(002),
NEWKO_012 TYPE BSEG-LIFNR ,
WRBTR_013(016),
XMWST_014(001),
MWSKZ_015(002),
ZTERM_016(004),
ZBD1T_017(003),
ZFBDT_018(010),
ZLSPR_019(001),
ZLSCH_020(001),
NEWBS_021(002),
NEWKO_022(017),
WRBTR_023(016),
MWSKZ_024(002),
XMWST_025(001),
VALUT_026(010),
FMORE_027(001),
GSBER_028(004),
QTY(024),
UOM(020),
FISTL_029(016), "FUND CENTER
FIPEX_030(024),
FIPOS_031(024),
FIELD_13_032(032),
FIELD_15_033(032),
FIELD_09_034(032),
FIELD_10_035(032),
FIELD_11_036(032),
FIELD_13_037(032),
FIELD_14_038(032),
FIELD_15_039(032),
GSBER_040(004),
PRCTR_041(010),
FISTL_042(016),
FIPEX_043(024),
FIPOS_044(024),
END OF TY_RECO_VEN.
TYPES: BEGIN OF RECORD_VEN ,
SRNO TYPE I,
data element: BLDAT
BLDAT_001(010),
data element: BLART
BLART_002(002),
data element: BUKRS
BUKRS_003(004),
data element: BUDAT
BUDAT_004(010),
data element: MONAT
MONAT_005(002),
data element: WAERS
WAERS_006(005),
data element: XBLNR1
XBLNR_007(016),
data element: BKTXT
BKTXT_008(025),
data element: XBWAE
XBWAE_009(001),
data element: SAEOBJART
DOCID_010(010),
data element: NEWBS
NEWBS_011(002),
data element: NEWKO
NEWKO_012(017),
data element: WRBTR
WRBTR_013(016),
data element: XMWST
XMWST_014(001),
data element: MWSKZ
MWSKZ_015(002),
data element: DZTERM
ZTERM_016(004),
data element: DZBD1T
ZBD1T_017(003),
data element: DZFBDT
ZFBDT_018(010),
data element: DZLSPR
ZLSPR_019(001),
data element: SCHZW_BSEG
ZLSCH_020(001),
data element: NEWBS
NEWBS_021(002),
data element: NEWKO
NEWKO_022(017),
data element: WRBTR
WRBTR_023(016),
data element: MWSKZ
MWSKZ_024(002),
data element: XMWST
XMWST_025(001),
data element: VALUT
VALUT_026(010),
data element: FMORE
FMORE_027(001),
data element: GSBER
GSBER_028(004),
QTY(024),
UOM(020),
data element: FISTL
FISTL_029(016),
data element: FM_FIPEX
FIPEX_030(024),
data element: FIPOS
FIPOS_031(024),
data element: EIGXX
FIELD_13_032(032),
data element: EIGXX
FIELD_15_033(032),
data element: EIGXX
FIELD_09_034(032),
data element: EIGXX
FIELD_10_035(032),
data element: EIGXX
FIELD_11_036(032),
data element: EIGXX
FIELD_13_037(032),
data element: EIGXX
FIELD_14_038(032),
data element: EIGXX
FIELD_15_039(032),
data element: GSBER
GSBER_040(004),
data element: PRCTR
PRCTR_041(010),
data element: FISTL
FISTL_042(016),
data element: FM_FIPEX
FIPEX_043(024),
data element: FIPOS
FIPOS_044(024),
NEWBS_043(002),
NEWKO_044(017),
END OF RECORD_VEN.
DATA : RECORD_VEN TYPE STANDARD TABLE OF RECORD_VEN,
WA_RECORD_VEN TYPE RECORD_VEN.
DATA : IT_RECO_VEN TYPE STANDARD TABLE OF TY_RECO_VEN,
WA_RECO_VEN TYPE TY_RECO_VEN.
DATA : IT_RECO1_VEN TYPE STANDARD TABLE OF RECORD_VEN ,
WA_RECO1_VEN TYPE RECORD_VEN,
WA_RECO2_VEN TYPE RECORD_VEN.
DATA : TEMP_VEN TYPE I.
DATA : IT_BSEG_VEN TYPE STANDARD TABLE OF TY_BSEG_VEN,
WA_BSEG_VEN TYPE TY_BSEG_VEN.
DATA : IT_LFB1_VEN TYPE STANDARD TABLE OF TY_LFB1,
WA_LFB1_VEN TYPE TY_LFB1.
DATA: BDCDATA_VEN TYPE STANDARD TABLE OF BDCDATA ,
WA_BDCDATA_VEN TYPE BDCDATA,
MESSTAB_VEN TYPE STANDARD TABLE OF BDCMSGCOLL ,
WA_MESSTAB_VEN TYPE BDCMSGCOLL.
DATA: BDCDATA_VEN1 TYPE STANDARD TABLE OF BDCDATA ,
WA_BDCDATA_VEN1 TYPE BDCDATA,
WA_BDCDATA_VEN2 TYPE BDCDATA.
End generated data section ***
**====================================================
**SELECTION SCREEN
**====================================================
SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT_001 . "NO INTERVALS.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(10) TEXT_002.
PARAMETERS: FLNAME TYPE RLGRAP-FILENAME .
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN: BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT_003 NO INTERVALS.
SELECTION-SCREEN BEGIN OF LINE .
PARAMETERS: R01 RADIOBUTTON GROUP R1 DEFAULT 'X' USER-COMMAND RAD.
SELECTION-SCREEN COMMENT 5(15) TEXT_004.
*SELECTION-SCREEN END OF LINE.
*SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: R02 RADIOBUTTON GROUP R1 .
SELECTION-SCREEN COMMENT 25(15) TEXT_005.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE .
PARAMETERS: R_FOR RADIOBUTTON GROUP R2 DEFAULT 'X' USER-COMMAND RAD.
SELECTION-SCREEN COMMENT 5(15) TEXT_006.
*SELECTION-SCREEN END OF LINE.
*SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: R_BACK RADIOBUTTON GROUP R2 .
SELECTION-SCREEN COMMENT 25(15) TEXT_007.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK B2.
INITIALIZATION.
TEXT_001 = 'Report Specification'.
TEXT_002 = 'File name'.
TEXT_003 = 'Output Specification'.
TEXT_004 = 'Customer Data'.
TEXT_005 = 'Vendor Data'.
TEXT_006 = 'ForeGround'.
TEXT_007 = 'BackGround'.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR FLNAME.
PERFORM GET_FILENAME.
START-OF-SELECTION.
IF FLNAME IS INITIAL.
MESSAGE 'Please select file' TYPE 'S'.
LEAVE LIST-PROCESSING.
ENDIF.
IF R01 = 'X'.
PERFORM GUI_UPLOAD.
PERFORM FILL_RECORDS.
IF RECORD[] IS NOT INITIAL.
PERFORM BDC_FILL.
ENDIF.
ELSEIF R02 = 'X'.
PERFORM GUI_UPLOAD_VEN.
PERFORM FILL_RECORDS_VEN.
IF RECORD_VEN[] IS NOT INITIAL.
PERFORM BDC_FILL_VEN.
ENDIF.
ENDIF.
*& Form FILL_RECORDS
FORM FILL_RECORDS .
DATA: V_PERIOD TYPE I,
V_PERIOD1 TYPE I.
LOOP AT IT_RECO INTO WA_RECO.
V_PERIOD = WA_RECO-BUDAT_004+3(2) .
IF V_PERIOD = 1.
V_PERIOD1 = '10'.
ELSEIF V_PERIOD = 2.
V_PERIOD1 = '11'.
ELSEIF V_PERIOD = 3.
V_PERIOD1 = '12'.
ELSEIF V_PERIOD = 4.
V_PERIOD1 = '1'.
ELSEIF V_PERIOD = 5.
V_PERIOD1 = '2'.
ELSEIF V_PERIOD = 6.
V_PERIOD1 = '3'.
ELSEIF V_PERIOD = 7.
V_PERIOD1 = '4'.
ELSEIF V_PERIOD = 8.
V_PERIOD1 = '5'.
ELSEIF V_PERIOD = 9.
V_PERIOD1 = '6'.
ELSEIF V_PERIOD = 10.
V_PERIOD1 = '7'.
ELSEIF V_PERIOD = 11.
V_PERIOD1 = '8'.
ELSEIF V_PERIOD = 12.
V_PERIOD1 = '9'.
ENDIF.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = WA_RECO-NEWBS_011
IMPORTING
OUTPUT = WA_RECO-NEWBS_011.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = WA_RECO-NEWKO_012
IMPORTING
OUTPUT = WA_RECO-NEWKO_012.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = WA_RECO-BUKRS_003
IMPORTING
OUTPUT = WA_RECO-BUKRS_003.
SELECT SINGLE BELNR ZFBDT ZTERM ZLSCH VALUT FIPOS
FROM BSEG INTO WA_BSEG WHERE KUNNR = WA_RECO-NEWKO_012
AND BUKRS = WA_RECO-BUKRS_003.
AND ZTERM ''
AND ZLSCH '' .
SELECT SINGLE KUNNR BUKRS ZWELS ZTERM
FROM KNB1 INTO WA_KNB1 WHERE KUNNR = WA_RECO-NEWKO_012
AND BUKRS = WA_RECO-BUKRS_003.
SORT IT_BSEG BY ZFBDT DESCENDING.
READ TABLE IT_BSEG INTO WA_BSEG INDEX 1.
DATA: STR TYPE STRING,
STR1 TYPE STRING,
STR2 TYPE STRING,
STR3 TYPE STRING.
STR1 = WA_BSEG-ZFBDT+0(4).
STR2 = WA_BSEG-ZFBDT+4(2).
STR3 = WA_BSEG-ZFBDT+6(2).
CONCATENATE STR3 '.' STR2 '.' STR1 INTO STR.
CONDENSE STR NO-GAPS.
WA_RECORD-SRNO = WA_RECO-SRNO.
WA_RECORD-BLDAT_001 = WA_RECO-BLDAT_001.
WA_RECORD-BLART_002 = WA_RECO-BLART_002.
WA_RECORD-BUKRS_003 = WA_RECO-BUKRS_003.
WA_RECORD-BUDAT_004 = WA_RECO-BUDAT_004.
WA_RECORD-MONAT_005 = V_PERIOD1.
WA_RECORD-WAERS_006 = WA_RECO-WAERS_006.
WA_RECORD-XBLNR_007 = WA_RECO-XBLNR_007.
WA_RECORD-BKTXT_008 = WA_RECO-BKTXT_008.
WA_RECORD-XBWAE_009 = 'X'.
WA_RECORD-DOCID_010 = '*'.
WA_RECORD-NEWBS_011 = WA_RECO-NEWBS_011.
WA_RECORD-NEWKO_012 = WA_RECO-NEWKO_012.
WA_RECORD-WRBTR_013 = WA_RECO-WRBTR_013.
WA_RECORD-XMWST_014 = 'X'.
WA_RECORD-MWSKZ_015 = WA_RECO-MWSKZ_015.
WA_RECORD-ZTERM_016 = WA_KNB1-ZTERM .
WA_RECORD-ZFBDT_017 = WA_RECO-BLDAT_001. "STR." WA_BSEG-ZFBDT .
WA_RECORD-ZLSCH_018 = WA_KNB1-ZWELS.
WA_RECORD-NEWBS_019 = WA_RECO-NEWBS_011.
WA_RECORD-NEWKO_020 = WA_RECO-NEWKO_012.
WA_RECORD-WRBTR_021 = WA_RECO-WRBTR_013.
WA_RECORD-MWSKZ_022 = WA_RECO-MWSKZ_015.
WA_RECORD-XMWST_023 = 'X'.
WA_RECORD-VALUT_024 = WA_RECO-BLDAT_001. "STR """"""""""""""""""""""""""WA_BSEG-VALUT.
WA_RECORD-FMORE_025 = 'X'.
WA_RECORD-GSBER_026 = WA_RECO-GSBER_026.
WA_RECORD-FIPEX_027 = WA_BSEG-FIPOS.
WA_RECORD-FIPOS_028 = WA_BSEG-FIPOS.
WA_RECORD-QTY = WA_RECO-QTY.
WA_RECORD-UOM = WA_RECO-UOM.
WA_RECORD-FIELD_13_029 = WA_RECO-FIELD_13_029.
WA_RECORD-FIELD_15_030 = WA_RECO-FIELD_15_030.
WA_RECORD-FIELD_09_031 = WA_RECO-FIELD_09_031.
WA_RECORD-FIELD_10_032 = WA_RECO-FIELD_10_032.
WA_RECORD-FIELD_11_033 = WA_RECO-FIELD_11_033.
WA_RECORD-FIELD_12_034 = ''. "WA_RECO-FIELD_12_034.
WA_RECORD-FIELD_13_035 = WA_RECO-FIELD_13_035.
WA_RECORD-FIELD_14_036 = WA_RECO-FIELD_14_036.
WA_RECORD-FIELD_15_037 = WA_RECO-FIELD_15_037.
WA_RECORD-GSBER_038 = WA_RECO-GSBER_026.
WA_RECORD-PRCTR_039 = WA_RECO-FIELD_13_029.
WA_RECORD-FIPEX_040 = WA_BSEG-FIPOS.
WA_RECORD-FIPOS_041 = WA_BSEG-FIPOS.
WA_RECORD-NEWBS_042 = WA_RECO-NEWBS_011.
WA_RECORD-NEWKO_043 = WA_RECO-NEWKO_012.
WA_RECORD-MWSKZ_044 = WA_RECO-MWSKZ_015.
WA_RECORD-XMWST_045 = 'X'.
WA_RECORD-VALUT_046 = WA_RECO-BLDAT_001. """str """""""""""""""""""""""WA_BSEG-VALUT.
WA_RECORD-FMORE_047 = 'X'.
WA_RECORD-FIPEX_048 = WA_BSEG-FIPOS.
WA_RECORD-FIPOS_049 = WA_BSEG-FIPOS.
MOVE-CORRESPONDING WA_RECO TO WA_RECORD.
APPEND WA_RECORD TO RECORD.
CLEAR WA_RECORD.
ENDLOOP.
ENDFORM. " FILL_RECORDS
*& Form BDC_FILL
FORM BDC_FILL .
DATA : CNT1 TYPE I VALUE 1.
IT_RECO1[] = RECORD[].
DELETE IT_RECO1 WHERE GSBER_026 = ''.
SORT RECORD BY SRNO ASCENDING .
SORT RECORD BY WRBTR_013 DESCENDING.
DELETE ADJACENT DUPLICATES FROM RECORD COMPARING SRNO .
LOOP AT RECORD INTO WA_RECORD.
TEMP = SY-TABIX.
PERFORM BDC_DYNPRO USING 'SAPLF040' '0100'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RF05V-NEWKO'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'BKPF-BLDAT'
WA_RECORD-BLDAT_001.
PERFORM BDC_FIELD USING 'BKPF-BLART'
WA_RECORD-BLART_002.
PERFORM BDC_FIELD USING 'BKPF-BUKRS'
WA_RECORD-BUKRS_003.
PERFORM BDC_FIELD USING 'BKPF-BUDAT'
WA_RECORD-BUDAT_004.
PERFORM BDC_FIELD USING 'BKPF-MONAT'
WA_RECORD-MONAT_005.
PERFORM BDC_FIELD USING 'BKPF-WAERS'
WA_RECORD-WAERS_006.
PERFORM BDC_FIELD USING 'BKPF-XBLNR'
WA_RECORD-XBLNR_007.
PERFORM BDC_FIELD USING 'BKPF-BKTXT'
WA_RECORD-BKTXT_008.
PERFORM BDC_FIELD USING 'VBKPF-XBWAE'
WA_RECORD-XBWAE_009.
PERFORM BDC_FIELD USING 'FS006-DOCID'
WA_RECORD-DOCID_010.
PERFORM BDC_FIELD USING 'RF05V-NEWBS'
WA_RECORD-NEWBS_011.
PERFORM BDC_FIELD USING 'RF05V-NEWKO'
WA_RECORD-NEWKO_012.
PERFORM BDC_DYNPRO USING 'SAPLF040' '0301'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RF05V-NEWKO'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'BSEG-WRBTR'
WA_RECORD-WRBTR_013.
PERFORM BDC_FIELD USING 'BKPF-XMWST'
WA_RECORD-XMWST_014.
PERFORM BDC_FIELD USING 'BSEG-MWSKZ'
WA_RECORD-MWSKZ_015.
PERFORM BDC_FIELD USING 'BSEG-ZTERM'
WA_RECORD-ZTERM_016.
PERFORM BDC_FIELD USING 'BSEG-ZFBDT'
WA_RECORD-ZFBDT_017.
PERFORM BDC_FIELD USING 'BSEG-ZLSCH'
WA_RECORD-ZLSCH_018.
LOOP AT IT_RECO1 WHERE SRNO = RECORD-SRNO.
READ TABLE IT_RECO1 INTO WA_RECO1 WITH KEY SRNO = WA_RECORD-SRNO ."INDEX TEMP.
PERFORM BDC_FIELD USING 'RF05V-NEWBS'
WA_RECO1-NEWBS_019.
PERFORM BDC_FIELD USING 'RF05V-NEWKO'
WA_RECO1-NEWKO_020.
CLEAR cnt1.
LOOP AT IT_RECO1 INTO WA_RECO1 WHERE SRNO = WA_RECORD-SRNO.
CNT1 = 1 + SY-TABIX.
PERFORM BDC_DYNPRO USING 'SAPLF040' '0300'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'BSEG-WRBTR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ZK'.
PERFORM BDC_FIELD USING 'BSEG-WRBTR'
WA_RECO1-WRBTR_021.
PERFORM BDC_FIELD USING 'BSEG-MWSKZ'
WA_RECO1-MWSKZ_022.
PERFORM BDC_FIELD USING 'BKPF-XMWST'
WA_RECO1-XMWST_023.
PERFORM BDC_FIELD USING 'BSEG-VALUT'
WA_RECO1-VALUT_024.
PERFORM BDC_FIELD USING 'DKACB-FMORE'
WA_RECO1-FMORE_025.
PERFORM BDC_FIELD USING 'BSEG-MENGE'
WA_RECO1-QTY.
PERFORM BDC_FIELD USING 'BSEG-MEINS'
WA_RECO1-UOM.
PERFORM BDC_DYNPRO USING 'SAPLKACB' '0002'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'COBL-GSBER'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=COBL_XERGO'.
PERFORM BDC_FIELD USING 'COBL-GSBER'
WA_RECO1-GSBER_026.
PERFORM BDC_FIELD USING 'COBL-FIPEX'
WA_RECO1-FIPEX_027.
PERFORM BDC_FIELD USING 'COBL-FIPOS'
WA_RECO1-FIPOS_028.
CHANGEED ON 25 APRIL BY RAJAN
PERFORM BDC_FIELD USING 'BSEG-MENGE'
WA_RECO1-QTY.
PERFORM BDC_FIELD USING 'BSEG-MEINS'
WA_RECO1-UOM.
CHANGEED ON 25 APRIL BY RAJAN
PERFORM BDC_DYNPRO USING 'SAPLKEAK' '0300'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RKEAK-FIELD(15)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=P+'.
PERFORM BDC_FIELD USING 'RKEAK-FIELD(13)'
WA_RECO1-FIELD_13_029.
PERFORM BDC_FIELD USING 'RKEAK-FIELD(15)'
WA_RECO1-FIELD_15_030.
PERFORM BDC_DYNPRO USING 'SAPLKEAK' '0300'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RKEAK-FIELD(15)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=WEIT'.
PERFORM BDC_FIELD USING 'RKEAK-FIELD(09)'
WA_RECO1-FIELD_09_031.
PERFORM BDC_FIELD USING 'RKEAK-FIELD(10)'
WA_RECO1-FIELD_10_032.
PERFORM BDC_FIELD USING 'RKEAK-FIELD(11)'
WA_RECO1-FIELD_11_033.
PERFORM BDC_FIELD USING 'RKEAK-FIELD(12)'
WA_RECO1-FIELD_12_034.
PERFORM BDC_FIELD USING 'RKEAK-FIELD(13)'
WA_RECO1-FIELD_13_035.
PERFORM BDC_FIELD USING 'RKEAK-FIELD(14)'
WA_RECO1-FIELD_14_036.
PERFORM BDC_FIELD USING 'RKEAK-FIELD(15)'
WA_RECO1-FIELD_15_037.
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'
WA_RECO1-GSBER_038.
PERFORM BDC_FIELD USING 'COBL-PRCTR'
WA_RECO1-PRCTR_039.
PERFORM BDC_FIELD USING 'COBL-FIPEX'
WA_RECO1-FIPEX_040.
PERFORM BDC_FIELD USING 'COBL-FIPOS'
WA_RECO1-FIPOS_041.
PERFORM BDC_DYNPRO USING 'SAPLF040' '0330'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RF05V-NEWKO'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
READ TABLE IT_RECO1 INTO WA_RECO2 INDEX CNT1.
IF SY-SUBRC = 0.
PERFORM BDC_FIELD USING 'RF05V-NEWBS'
WA_RECO2-NEWBS_042.
PERFORM BDC_FIELD USING 'RF05V-NEWKO'
WA_RECO2-NEWKO_043.
ELSE.
PERFORM BDC_FIELD USING 'RF05V-NEWBS'
WA_RECO1-NEWBS_042.
PERFORM BDC_FIELD USING 'RF05V-NEWKO'
WA_RECO1-NEWKO_043.
ENDIF.
ENDLOOP.
CLEAR CNT1.
PERFORM BDC_DYNPRO USING 'SAPLF040' '0330'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'BSEG-WRBTR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=BP'.
PERFORM BDC_DYNPRO_ven USING 'SAPLF040' '0330'.
PERFORM BDC_FIELD_ven USING 'BDC_CURSOR'
'BSEG-LZBKZ'.
PERFORM BDC_FIELD_ven USING 'BDC_OKCODE'
'=BP'.
REFRESH BDCDATA_VEN1.
FREE BDCDATA_VEN1[].
BDCDATA_VEN1[] = BDCDATA[].
DATA : CNT TYPE I,
TEMP TYPE I,
TEMP1 TYPE I,
TEMP2 TYPE I,
TEMP3 TYPE I,
TEMP4 TYPE I.
LOOP AT BDCDATA_VEN1 INTO WA_BDCDATA_VEN1 WHERE DYNPRO = 330.
TEMP = SY-TABIX.
TEMP1 = TEMP + 1.
TEMP2 = TEMP1 + 1.
TEMP3 = TEMP2 + 1.
TEMP4 = TEMP3 + 1.
CNT = SY-TABIX + 5.
READ TABLE BDCDATA_VEN1 INTO WA_BDCDATA_VEN2 INDEX CNT.
IF WA_BDCDATA_VEN2-DYNPRO = 330.
DELETE BDCDATA_VEN1 FROM TEMP TO TEMP4.
EXIT.
ENDIF.
ENDLOOP.
PERFORM BDC_DYNPRO USING 'SAPLF040' '0300'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'BSEG-WRBTR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=BP'.
PERFORM BDC_FIELD USING 'BSEG-MWSKZ'
WA_RECORD-MWSKZ_044.
PERFORM BDC_FIELD USING 'BKPF-XMWST'
WA_RECORD-XMWST_045.
PERFORM BDC_FIELD USING 'BSEG-VALUT'
WA_RECORD-VALUT_046.
PERFORM BDC_FIELD USING 'DKACB-FMORE'
WA_RECORD-FMORE_047.
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-FIPEX'
WA_RECORD-FIPEX_048.
PERFORM BDC_FIELD USING 'COBL-FIPOS'
WA_RECORD-FIPOS_049.
PERFORM BDC_TRANSACTION USING 'F-64'.
READ TABLE MESSTAB INTO WA_MESSTAB WITH KEY TCODE = 'FBV1'
MSGTYP = 'S'
MSGID = 'FP'.
IF SY-SUBRC = 0.
PERFORM BDC_MSG_S.
ELSE.
PERFORM BDC_MSG_E.
ENDIF.
FREE MESSTAB.
ENDLOOP.
ENDFORM. " BDC_FILL
*& Form BDC_MSG_S
FORM BDC_MSG_S.
IF WA_MESSTAB-MSGTYP = 'S'.
DATA : MESS1(10),
MESS2(10).
MESS1 = WA_MESSTAB-MSGV1.
MESS2 = WA_MESSTAB-MSGV2.
WRITE :/1 'Parked Documents',
MESS1 COLOR 6 INTENSIFIED ON INVERSE ON,
'For Company Code',
MESS2 COLOR 6 INTENSIFIED ON INVERSE ON.
ENDIF.
ENDFORM. " BDC_MSG_S
*& Form BDC_MSG_E
FORM BDC_MSG_E.
READ TABLE MESSTAB INTO WA_MESSTAB WITH KEY TCODE = 'FBV1'
MSGTYP = 'E'
MSGID = 'F5'.
READ TABLE RECORD INTO WA_RECORD INDEX TEMP.
IF WA_MESSTAB-MSGTYP = 'E' AND SY-SUBRC = 0.
SKIP.
WRITE: /1 'Error occured during inserting data for sr. no :' COLOR 5 INTENSIFIED ON INVERSE ON,
WA_RECORD-SRNO COLOR 5 INTENSIFIED ON INVERSE ON.
MESSTAB-MSGV1 COLOR 6 INTENSIFIED ON INVERSE ON.
SKIP.
ENDIF.
ENDFORM. " BDC_MSG_E
*& Form GUI_UPLOAD
FORM GUI_UPLOAD .
DATA: FNAME TYPE STRING.
FNAME = FLNAME.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = FNAME
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
CHECK_BOM = ' '
VIRUS_SCAN_PROFILE =
NO_AUTH_CHECK = ' '
IMPORTING
FILELENGTH =
HEADER =
TABLES
DATA_TAB = IT_RECO
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.
ENDFORM. " GUI_UPLOAD
*& Form GET_FILENAME
FORM GET_FILENAME .
CALL FUNCTION 'F4_FILENAME'
IMPORTING
FILE_NAME = FLNAME.
ENDFORM. " GET_FILENAME
*& Form bdc_transaction
FORM BDC_TRANSACTION USING VALUE(P_0522).
IF R_FOR = 'X'.
CALL TRANSACTION 'F-64' USING BDCDATA_VEN1
MODE 'A' "A
UPDATE 'A'
MESSAGES INTO MESSTAB.
ELSEIF R_BACK = 'X'.
CALL TRANSACTION 'F-64' USING BDCDATA_VEN1
MODE 'N' "A
UPDATE 'A'
MESSAGES INTO MESSTAB.
ENDIF.
REFRESH BDCDATA.
FREE BDCDATA[].
ENDFORM. " bdc_transaction
*& Form BDC_DYNPRO
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR WA_BDCDATA.
WA_BDCDATA-PROGRAM = PROGRAM.
WA_BDCDATA-DYNPRO = DYNPRO.
WA_BDCDATA-DYNBEGIN = 'X'.
APPEND WA_BDCDATA TO BDCDATA.
ENDFORM. "BDC_DYNPRO
*& Form BDC_FIELD
FORM BDC_FIELD USING FNAM FVAL.
CLEAR WA_BDCDATA.
WA_BDCDATA-FNAM = FNAM.
WA_BDCDATA-FVAL = FVAL.
APPEND WA_BDCDATA TO BDCDATA.
ENDFORM. "BDC_FIELD
*& Form FILL_RECORDS
FORM FILL_RECORDS_VEN .
DATA: V_PERIOD TYPE I,
V_PERIOD1 TYPE I.
LOOP AT IT_RECO_VEN INTO WA_RECO_VEN.
V_PERIOD = WA_RECO_VEN-BUDAT_004+3(2) .
IF V_PERIOD = 1.
V_PERIOD1 = '10'.
ELSEIF V_PERIOD = 2.
V_PERIOD1 = '11'.
ELSEIF V_PERIOD = 3.
V_PERIOD1 = '12'.
ELSEIF V_PERIOD = 4.
V_PERIOD1 = '1'.
ELSEIF V_PERIOD = 5.
V_PERIOD1 = '2'.
ELSEIF V_PERIOD = 6.
V_PERIOD1 = '3'.
ELSEIF V_PERIOD = 7.
V_PERIOD1 = '4'.
ELSEIF V_PERIOD = 8.
V_PERIOD1 = '5'.
ELSEIF V_PERIOD = 9.
V_PERIOD1 = '6'.
ELSEIF V_PERIOD = 10.
V_PERIOD1 = '7'.
ELSEIF V_PERIOD = 11.
V_PERIOD1 = '8'.
ELSEIF V_PERIOD = 12.
V_PERIOD1 = '9'.
ENDIF.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = WA_RECO_VEN-NEWBS_011
IMPORTING
OUTPUT = WA_RECO_VEN-NEWBS_011.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = WA_RECO_VEN-NEWKO_012
IMPORTING
OUTPUT = WA_RECO_VEN-NEWKO_012.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = WA_RECO_VEN-BUKRS_003
IMPORTING
OUTPUT = WA_RECO_VEN-BUKRS_003.
SELECT SINGLE BELNR ZFBDT ZTERM ZLSCH VALUT FIPOS ZBD1T ZLSPR FISTL
FROM BSEG INTO WA_BSEG_VEN WHERE LIFNR = WA_RECO_VEN-NEWKO_012
AND BUKRS = WA_RECO_VEN-BUKRS_003.
AND ZTERM ''
AND ZLSCH '' .
SELECT SINGLE LIFNR BUKRS ZWELS ZTERM
FROM LFB1 INTO WA_LFB1_VEN WHERE LIFNR = WA_RECO_VEN-NEWKO_012
AND BUKRS = WA_RECO_VEN-BUKRS_003.
SORT IT_BSEG_VEN BY ZFBDT DESCENDING.
READ TABLE IT_BSEG_VEN INTO WA_BSEG_VEN INDEX 1.
DATA: STR TYPE STRING,
STR1 TYPE STRING,
STR2 TYPE STRING,
STR3 TYPE STRING.
STR1 = WA_BSEG_VEN-ZFBDT+0(4).
STR2 = WA_BSEG_VEN-ZFBDT+4(2).
STR3 = WA_BSEG_VEN-ZFBDT+6(2).
CONCATENATE STR3 '.' STR2 '.' STR1 INTO STR.
CONDENSE STR NO-GAPS.
WA_RECORD_VEN-SRNO = WA_RECO_VEN-SRNO.
WA_RECORD_VEN-BLDAT_001 = WA_RECO_VEN-BLDAT_001.
WA_RECORD_VEN-BLART_002 = WA_RECO_VEN-BLART_002.
WA_RECORD_VEN-BUKRS_003 = WA_RECO_VEN-BUKRS_003. -
Make Business Place (BSEG-BUPLA) field a substitutable field
Hi All,
We need to create a substitution rule to populate business place field(BSEG-BUPLA) in FI documents automatically. We have only one business place and it is assigned to a plant. When there are documents that does not involve plant, then we need to populate the field with business place automatically.
When creating the substitution rule, business place is not shown in the list of substitutable fields. I tried to make changes in GB01 table and remove the exclude check mark for BUPLA but we could not edit the ta ble.We are in 4.6c version. I tried GB01C table and the related views also. The view already does not contain any entry.
It seems we need to update GB01 only and remove the exclude check box for BUPLA field (Bool class 009, class type S, table BSEG, field BUPLA)
Is there any OSS note or pointers to update BUPLA in GB01 table
Thanks & Regards
AnupamaHi
Hope , below mentioned link will help you to solve your problem
Business place and section code substitution
Regards
Praveen P C -
I need to run an annual process that searches on BSIS, BSID and BSIK tbls, comparing it with table WITH_ITEM. If field WITH_ITEM-WT_WITHCD is equal to Space must place ` 02' and place the value in fields WITH_ITEM-WT_QSSHH and WITH_ITEM- WT_QSSHB.
I've found that this modification can be done doing a batch input on FB02 tcode, but the error risk is high, if they change the conditions of the accounts, in addition is very slow. I'm Looking for a BAPI for the FB02 and i've found nothing about it. There is a function but this single one updates fields of BSEG and BKPF.
Is There a Function or a program With wich it can Work ?.
Regards,
Steve.I need to run an annual process that searches on BSIS, BSID and BSIK tbls, comparing it with table WITH_ITEM. If field WITH_ITEM-WT_WITHCD is equal to Space must place ` 02' and place the value in fields WITH_ITEM-WT_QSSHH and WITH_ITEM- WT_QSSHB.
I've found that this modification can be done doing a batch input on FB02 tcode, but the error risk is high, if they change the conditions of the accounts, in addition is very slow. I'm Looking for a BAPI for the FB02 and i've found nothing about it. There is a function but this single one updates fields of BSEG and BKPF.
Is There a Function or a program With wich it can Work ?.
Regards,
Steve. -
FM or BAPI for resetting Documents
Hi all,
Is there any FM or BAPI available for resettign and reversing documents in FBRA. I have a FM for reversing document but i don't have a FM or BAPI for resetting documents. If any one knows answer for this, please suggest me.
Thanks and Regards,
Subbu.HOPE THIS WILL HELP
Reset cleared items (FBRA)
After executing the data in FBRA, the accounting document will be moved from BSAK table to BSIK, after executing the below function module one can check in these table. Never try to select accounting document from BSEG table, it's a cluster table. Try to use key fields when firing query on BASK table. *---Declaration for fun mod
DATA: d_bukrs LIKE rf05r-bukrs,
d_belnr LIKE rf05r-augbl,
d_gjahr LIKE rf05r-gjahr,
it_rf05r_acct LIKE rf05r_acct OCCURS 0 WITH HEADER LINE.
LOOP AT it_bsak.
CLEAR: d_bukrs, d_belnr, d_gjahr.
d_bukrs = it_bsak-bukrs.
d_belnr = it_bsak-augbl.
d_gjahr = it_bsak-gjahr.
*---Fuction module to run FBRA
CALL FUNCTION 'CALL_FBRA'
EXPORTING
i_bukrs = d_bukrs
i_augbl = d_belnr
i_gjahr = d_gjahr
TABLES
t_accnt = it_rf05r_acct
EXCEPTIONS
not_possible = 1
OTHERS = 2.
Endloop. -
HI
please any body tell me how to insert BAPI for transaction code F-43/FB01.
I want to map data from external software.
I am using insert BAPI using tables BSEG,BKPF,LFA1.
data is not displaying in FB03.
Kindly reply me as soon as possible.....
Waiting for a reply....
ThanksMake sure that you call BAPI_TRANSACTION_COMMIT after your BAPI call.
Rob -
Hi All,
I need bapi which can create document for transaction FB60 and later we can do the commit explicitly. we need to upload
*HEADER *
BESG-LIFNR, BKPF-BLDAT, BKPF-BUDAT, INVFO-WRBTR,
BKPF-BUKRS, BKPF-WAERS, BKPF-XBLNR, BSEG-MWSKZ,
BKPF-BKTXT, INVFO-ZFBDT, INVFO-ZTERM
LINE ITEM
BSEG-HKONT, BSEG-SGTXT, BSEG-WRBTR, BSEG-MWSKZ, BSEG-TXJCD, BSEG-KOSTL, BSEG-KSTRG,
BSEG-MATNR, BSEG-MENGE, BSEG-MEINS
i know one bapi BAPI_ACC_INVOICE_RECEIPT_POST but i am not able to pass the value of vendor as a header data on this bapi. please suggest.
Thanks,
MadhuI have one BAPI API_ACC_INVOICE_RECEIPT_POST, i think i hcan use this BAPI for my requirement but while posting the data i am getting errors :
1. Required field AMT_BASE was not transferred in parameter CURRENCYAMOUNT
2. Required field ACCT_KEY was not transferred in parameter ACCOUNTTAX
In the excel sheet these two fields data is not given, then how can i pass the values in these two fileds.
Please reply,
Thanks -
Vi error on nfs mount; E212: Can't open file for writing
Hi all,
I've setup a umask of 0 for testing on both NFS client (Centos 5.2) and NFS server (OSX 10.5.5 server).
I can create files as one user and edit/save out as another user w/o issue when directly logged into the server via ARD.
However, when I attempt the same from an NFS mount on a client machine, even as root I get the following error using vi;
"file" E212: Can't open file for writing
Looking at the system.log file on the server, I see;
kernel[0]: add_fsevent: no name hard-link! dropping the event. (event 2 vp == 0xa5db510 (-UNKNOWN-FILE)).
This baffles me. My umask is 0 meaning files I create and attempt to edit as other users are 777, but I cannot save out edits unless I do a wq! in vi. At that point, the owner of the file changes to whomever did the vi.
This isn't just a vi issue as it happens using any editor, but I like to use vi.
Any help is greatly appreciated. Hey, beer is on me!Hi all,
Thanks for the replies
I've narrowed it down to a Centos client issue.
Everything works fine using other Linux based OS's as clients.
Since we have such a huge investment in Centos, I must figure out a workaround. Apple support wasn't much help as usual however they were very nice.
There usual response is "its unsupported".
If Apple really wants to play in the enterprise of business space, they really need to change there philosophy. I mean telling me that I shouldn't mount home directories via NFS is completely rediculus.
What am I supposed to use then, Samba of AFP? No, I don't think so. No offense to Microsoft but why would I use a Windows based file sharing protocol to mount network shares in a Nix env??? -
help needed for writing query
i have the following tables(with data) as mentioned below
FK*-foregin key (SUBJECTS)
FK**-foregin key (COMBINATION)
1)SUBJECTS(table name)
SUB_ID(NUMBER) SUB_CODE(VARCHAR2) SUB_NAME (VARCHAR2)
2 02 Computer Science
3 03 Physics
4 04 Chemistry
5 05 Mathematics
7 07 Commerce
8 08 Computer Applications
9 09 Biology
2)COMBINATION
COMB_ID(NUMBER) COMB_NAME(VARCHAR2) SUB_ID1(NUMBER(FK*)) SUB_ID2(NUMBER(FK*)) SUB_ID3(NUMBER(FK*)) SUBJ_ID4(NUMBER(FK*))
383 S1 9 4 2 3
384 S2 4 2 5 3
---------I actually designed the ABOVE table also like this
3) a)COMBINATION
COMB_ID(NUMBER) COMB_NAME(VARCHAR2)
383 S1
384 S2
b)COMBINATION_DET
COMBDET_ID(NUMBER) COMB_ID(FK**) SUB_ID(FK*)
1 383 9
2 383 4
3 383 2
4 383 3
5 384 4
6 384 2
7 384 5
8 384 3
Business rule: a combination consists of a maximum of 4 subjects (must contain)
and the user is less relevant to a COMB_NAME(name of combinations) but user need
the subjects contained in combinations
i need the following output
COMB_ID COMB_NAME SUBJECT1 SUBJECT2 SUBJECT3 SUBJECT4
383 S1 Biology Chemistry Computer Science Physics
384 S2 Chemistry Computer Science Mathematics Physics
or even this is enough(what i actually needed)
COMB_ID subjects
383 Biology,Chemistry,Computer Science,Physics
384 Chemistry,Computer Science,Mathematics,Physics
you can use any of the COMBINATION table(either (2) or (3))
and i want to know
1)which design is good in this case
(i think SUB_ID1,SUB_ID2,SUB_ID3,SUB_ID4 is not a
good method to link with same table but if 4 subjects only(and must) comes
detail table is not neccessary )
now i am achieving the result by program-coding in C# after getting the rows from oracle
i am using oracle 9i (also ODP.NET)
i want to know how can i get the result in the stored procedure itsef.
2)how it could be designed in any other way.
any help/suggestion is welcome
thanks for your time --PradeeshWell I forgot the table-alias, here now with:
SELECT C.COMB_ID
, C.COMB_NAME
, (SELECT SUB_NAME
FROM SUBJECTS
WHERE SUB_ID = C.SUB_ID1) AS SUBJECT_NAME1
, (SELECT SUB_NAME
FROM SUBJECTS
WHERE SUB_ID = C.SUB_ID2) AS SUBJECT_NAME2
, (SELECT SUB_NAME
FROM SUBJECTS
WHERE SUB_ID = C.SUB_ID3) AS SUBJECT_NAME3
, (SELECT SUB_NAME
FROM SUBJECTS
WHERE SUB_ID = C.SUB_ID4) AS SUBJECT_NAME4
FROM COMBINATION C;
As you need exactly 4 subjects, the columns-solution is just fine I would say.
Maybe you are looking for
-
How do I turn off pop up blocker on my macbook air
how do I turn off a pop up blocker on my macbook air?
-
Error-handling in PKGBUILDs is far from perfect
Hi, PKGBUILDs should die on failure, rather than just continue regardless of errors. Here's a little rant: Why is it acceptable for ./configure to fail? Or make install to fail? Or the installation of just about any file? They could fail for lots of
-
HT201812 why did my playlists erease when i downloaded current version of itunes
when I downloaded current version of itunes all playlist did not transfer?
-
VA01 - Error determination for condition MWST
Hi experts, I have a problem in the transaction VA01 since the system is determining the value of the condition MWST wrongly. Material - Tax data: Client - Tax data: VK12 - MWST tax condition: However, when I create the sales order the system determi
-
Captivate 4 projects and Moodle don't communicate
Hi, I am struggling with getting my captivate 4 modules to talk to our internally created LMS and also with Moodle. With my captivate3 modules, I did not have any problems. Are there certain settings that I have to use? Do I have to adjust some file