Mm flow and SD flow
Hi,
Cna any body explain what is mm flow and sd flow
HI,
<b>
SALES & DISTRIBUTION MODULE RELATED TABLES:</b>
Cycle:
Enquiry->Quotation->Sales Order->Delivery(Picking, Packing, Post Goods
Issue and Shipment)->Billing-> Data to FI
TABLES and Important Fields:
VBAK: Sales Document(Header Data) (VBELN)
VBAP: Sales Document(Item Data) (VBELN,POSNR,MATNR,ARKTX,CHARG)
Enquiry, Quotation, Sales Order are differentiated based on Doc.
Type(VBTYP field) in VBAK,VBAP Tables( for Enquiry VBTYP = A,
for Quotation 'B' & for Order it is 'C'.)
LIKP: Delivery Table (Header Data)(VBELN,LFART,KUNNR,WADAT,INCO1)
LIPS: Delivery Table (Item Data)(VBELN,POSNR,WERKS,LGORT,MATNR,VGBEL)
(LIPS-VGBEL = VBAK-VBELN, LIPS-VGPOS = VBAP-POSNR)
VTTK: Shipment Table (Header Data)(TKNUM)
VTTP: Shipment Table (Item Data)( TKNUM,TPNUM,VBELN)
(VTTP-VBELN = LIKP-VBELN)
VTFA: Shipping Document Flow(TKNUM,VBELV,VBELN)
VTPA: Shipping Partners data(VBELN,PARVW,KUNNR,PERNR)
VTTS: Stages in Shipment(TKNUM,TSNUM,TSTYP)
VTSP: Transport Stage/Shipment Item Allocation(TKNUM,TSNUM,TPNUM)
VEKP: Handling Unit: Header(Packing)(VENUM,VSTEL)
VEPO: Handling Unit: Item (Packing)(VENUM,VEPOS,VBELN)
VBRK: Billing Table(Header Data)(VBELN,FKART,BELNR)
VBRP: Billing Table(Item Data)(VBELN,POSNR,FKIMG,NETWR,VGBEL,VGPOS)
(VBRP-AUBEL = VBAK-VBELN, VBRP-VGBEL = LIKP-VBELN)
Apart from these tables there are lot of other tables which starts with
V, but we use the following tables frequently.
VBUK: All Sales Documents status & Admn. Data(Header)(VBELN,VBTYP)
VBTYP= C(Sales Order) VBTYP=J(Delivery) VBTYP=M(Invoice)
VBUP: Sales Documents status & Admn. Data(Item)(VBELN,POSNR)
VBEP: Sales Doc. Schedule Lines Data(VBELN,POSNR,EDATU,WMENG)
VBKD: To get sales related Business data like Payment terms etc.(VBELN,ZTERM)
VBFA: sales document flow data(VBELV,VBELN,POSNV,VBTYP)
VBPA: Partner functions Data(VBELN,PARVW,KUNNR,LIFNR)
VEDA: Contract Data(VBELN,VPOSN)
VEDAPO: Contract Data(VBELN,VPOSN)
KONA: Rebate Agreements (KNUMA,VKORG,VTWEG,SPART)
VBRL: SD Document: Invoice List(VBELN,POSNR,VBELN_VF,NETWR,KUNAG)
VKDFS: SD Index: Billing Indicator(FKTYP,VBELN,FKART,VKORG)
VBSK: Collective Processing for a Sales Document Header(SAMMG,SMART)
VBSS: Collective Processing: Sales Documents(SAMMG,VBELN,SORTF)
VRKPA: Sales Index: Bills by Partner Functions(VBELN,BELNR,KUNDE,PARVW)
VRPMA: SD Index: Billing Items per Material(MATNR,VBELN,BELNR,KUNNR)
TVLKT: Delivery Type: Texts(LFART,VTEXT)
KNA1: Customer Master-General(KUNNR,NAME1,LAND1)
KNB1: Customer Master(Company Code)(KUNNR,BUKRS,PERNR)
KNC1: Customer Master Data (Transaction Figures)(KUNNR,BUKRS,GJAHR)
KNVK: Customer Master Contact Partner(PARNR,KUNNR,NAME1)
KNVV: Customer Master sales data(KUNNR,VKORG,VTWEG,KDGRP)
KNBK: Customer Bank Details(KUNNR,BANKS,BANKL,BANKN)
KNVH: Customer Hierarchy (HITYP,KUNNR,VKORG,VTWEG,SPART)
KNVP: Customer Master Partner Functions(KUNNR,PARVW,KUNN2)
KNVS: Customer Shipment data(KUNNR,VSTEL,TRANS)
KNVI: Customer Tax data(KUNNR,ALAND,TATYP)
LFA1: Vendor Master-General (LIFNR,NAME1,ORT01)
LFB1: Vendor Master(Company Code)(LIFNR,BUKRS,PERNR)
LFC1: Vendor Master (Transaction Figures)(LIFNR,BUKRS,GJAHR)
MARA: Material Master-General (MATNR,MTART,MATKL)
MARC: Material Master-Plant data(MATNR,WERKS,EKGRP)
MARD: Material Master- St.Location Data(MATNR,WERKS,LGORT,LABST)
EBEW: Sales Order Stock Valuation(MATNR,VBELN,BWKEY,BWTAR)
TVKO: Sales Organizations(VKORG)
TVTW: Distribution Channel(VTWEG)
TSPA: Divisions(SPART)
TVKOV: Distribution Channels for S.Orgn(VKORG,VTWEG)
TVKOS: Divisions for S.Orgn(VKORG,SPART)
TVTA: Sales Areas(VKORG,VTWEG,SPART)
TVBUR: Sales Offices(VKBUR,ADRNR)
TVKBT: Sales Office Texts(VKBUR,SPRAS,BEZEI)
TVKBZ: Sales Office Assign.to Sales Area(VKORG,VTWEG,VKBUR)
TVKGR: Sales Group(VKGRP)
TVGRT: Sales Group Texts(VKGRP,SPRAS,BEZEI)
TVBVK: Sales Group to Sales office(VKBUR,VKGRP)
TVKWZ: Plants Assign.to S.Orgn(WERKS,VKORG)
T171T: Sales District Texts(BZIRK,BZTXT,SPRAS)
TVLA: Loading Points(LSTEL)
TVST: Shipping Points (VSTEL)
TVSWZ: Shipping Point to Plant(VSTEL,WERKS)
TVPT: Item Categories (PSTYV)
TINC: Customer Incoterms(INCO1)
T077D: Customer Account Group (KTOKD)
T001W: Plants (WERKS)
T001L: Storage Locations (LGORT)
T499S: Locations(WERKS,STAND,KTEXT)
TWLAD: To get address of Storage Location and Plant(LGORT,ADRNR)
TVAK: Sales Document (Order) Types (AUART)
TVAU: Sales Documents: Order Reasons (AUGRU)
TVFK: Billing Document Types (FKART)
TVLK: Delivery Types(LFART)
TVSB: Shipping Conditions (VSBED)
TTDS: Transportation Points(TPLST)
TVKT: Account Assignment Groups (KTGRD)
KONV: Condition Types pricing)(KNUMV,KSCHL,KWETR)
ADRC: To get Addresses of Partners(ADDRNUMBER,NAME1)
VBBE: Sales Requirements: Individual records(VBELN,POSNR,MATNR)
VBBS: Sales Requirement totals Record(MATNR,WERKS,LGORT,CHARG)
VBKA: Sales Activities Data(VBELN,KTAAR)
VBPV: Sales Document Product Proposal(VTWEG,MATNR,KUNNR,CHARG)
T682: Access Sequences (KOZGF)
T682T: Access Sequence Texts (KOZGF,VTXTM)
T683: Pricing Procedures (KALSM)
T683T: Pricing Procedures Texts(KALSM,KAPPL,SPRAS,VTEXT)
T685: Pricing Condition Types (KSCHL)
T685T: Condition Type Texts(KSCHL,SPRAS,KAPPL,VTEXT)
KONH: Conditions (Header)(KNUMH,KAPPL,KSCHL)
KONP: Conditions (Item)(KNUMH,KOPOS,KAPPL,KSCHL)
KONV: Conditions (Transaction Data)(KNUMV,KSCHL,KBERT,KWERT)
KOND: Conditions (KNUMD,ZUSKO,KSCHL)
<b>
MATERIAL MANAGEMENT MODULE:</b>
Cycle:
Purchase Requisition->Request for Quotation(RFQ)->(Vendor Evaluation)->Purchase Order(PO)->Goods Receipt Note(GRN)->Invoice Verification->Data to FI
TABLES and Important Fields:
LFA1--Vendor Master-General (LIFNR,NAME1,ORT01)
LFB1--Vendor Master(Company Code)(LIFNR,BUKRS,PERNR)
LFC1--Vendor Master (Transaction Figures)(LIFNR,BUKRS,GJAHR)
LFM1-Pur.Orgn. Related Vendor Data (LIFNR,EKORG)
MARA--Material Master-General (MATNR,MTART,MATKL)
MARC--Material Master-Plant data(MATNR,WERKS,EKGRP)
MARD--Material Master- St.Location Data(MATNR,WERKS,LGORT,LABST)
MAKT--Material Descriptions(MATNR,MATKL,MAKTX)
MBEW--Material Valuation Data(MATNR,BWTAR)
MVKE-Material Master: Sales related Data(MATNR,VKORG,VTWEG)
MDKP--MRP related data(Header)(DTART,MATNR,PLWRK,PLSCN)
MDTB-MRP Table(DTNAM,DTPOS,PLANR)
MCHA--Batches (MATNR,WERKS,CHARG)
MCHB-Batch Stocks(MATNR,WERKS,LGORT,CHARG)
EBAN-- Pur.Reqn. Data (BANFN,BNFPO,BADAT,MATNR)
EBKN-- Purchase Requisition Account Assignment(BANFN,BNFPO,VBELN)
EINA- Purchase Info.Record (General Data)(INFNR,MATNR,LIFNR)
EINE-- Purchase Info.Record (Pur.Orgn Data )(INFNR,EKORG)
ELBK-- Vendor Evaluation Header Data(LIFNR,EKORG,KLASS)
ELBM-- Vendor Evaluation: Material-Related Item(LIFNR,MATNR,EKORG,INFNR,HKRIT)
ELBP- Main Criteria for Vendor Evaluation (LIFNR,EKORG,HKRIT)
EKKO-- Purchase Order Data (Header)(EBELN,BSTYP,BSART)
EKPO-- Purchase Order Data (Item)(EBELN,EBELP,MATNR)
RFQ and PO are differentiated by Doc Type(BSTYP)in EKKO table.
For RFQ it is A and for PO it is F.
MKPF-- GRN Data (Header) (EBELN,BLDAT,BUDAT,XBLNR,BKTXT)
MSEG-- GRN Data (Item)(MBLNR,BWART,LIFNR,MATNR,EBELN)
Apart from this there are lot of tables which begin with 'M'& 'E', but we
use the following very often.
EQUK--Quota(header) (QUNUM,MATNR)
EQUP-Quota(item) (QUNUM,QUPOS,LIFNR)
ESLH--Service Package Header Data (PACKNO,EBELN,VBELN)
ESLL--Lines of Service Package (PACKNO)
ESUH--Ext. Services Management: Unpl.Service Limits: Header Data(PACKNO)
ESKN--Account Assignment in Service Package(PACKNO)
EKKN--Account Assignment in Purchasing Document(EBELN,EBELP,VBELN)
EKBE--PO History Data (EBELN,EBELP,BELNR,BLDAT,MATNR,VGABE)
EKBZ--PO History with delivery Costs(EBELN,BELNR,LIFNR,XBLNR)
EKET--Schedule lines data of a PO (EBELN,EINDT,SLFDT)
EKES--Vendor Confirmations Data(EBELN,EBTYP,EINDT,XBLNR)
T001W-- Plants (WERKS)
T001L-- Storage Locations (LGORT)
T300- Warehouse Numbers(LGNUM)
T301- Storage Types(LGNUM,LGTYP)
T320- Assign. Stor.Locn to WM Warehouse(WERKS,LGORT,LGNUM)
T163F--Confirmation Texts(EBTYP,EBTXT)
T156-- Movement Types(BWART)
T024-- Purchasing Groups(EKGRP,EKNAM)
T024E--Purchase Organizations(EKORG,BUKRS)
T024W--Plants Assign.to P.Orgn(WERKS,EKORG)
T161-- Purchasing Document Types(BSTYP,BSART)
T163-- Item Categorys in Purchasing Documents(PSTYP)
T149D--Valuation Types(BWTAR)
T134-- Material Types(MTART)
T179- Material Product Hierarchies(PRODH)
T179T-Material Product Hierarchies: Texts(PRODH,SPRAS,VTEXT)
TJ02T-System status texts(ISTAT,SPRAS,TXT30)
STKO-- BOM(Bill of Material)(Header)( STLTY,STLNR,STLAL)
STPO- BOM(Bill of Material)(Item)( STLTY,STLNR,STLKN,STPOZ)
STPU-- BOM Sub-Item (STLTY,STLNR,STLKN)
STPN-- BOM Follow-Up Control (STLTY,STLNR,MATNR)
STST-- Standard BOM Link (STOBJ,STLNR,STLAN,STLAL)
STZU- Permanent BOM data( STLTY,STLNR,STLAN,ALTST)
RKPF-- Document Header: Reservation(RSNUM,BWART,ANLN1,KOSTL)
RBKP-- Document Header: Invoice Receipt(BELNR,BLART,GJAHR,BUDAT)
RSEG-- Document Item: Incoming Invoice(BELNR,BUZEI,EBELN,MATNR)
rgds,
bharat.
Similar Messages
-
Hi All,
can any one explain regarding SD FLOW AND MM FLOW clrearly..
urgent.
rgdsmHi
SD FLOW
SD Flow Cycle:
INQUIRY ( VA11)
|
QUOTATION (VA21)
|
PURCHASE ORDER (ME21)
|
ORDER CONFIRMATION (VA01)
|
PICKING LIST (VL36)
|
PACKING LIST - (VL02, VL01)
|
SHIPPING (VT01)
|
INVOICE (VF21, VF01)
|
AR
Enquiry - Customer enquires about the Products services that were sold by a company - VA11
Quotation - Company Gives a Quotation for the products and Services to a Customer
Sales Order - Customer gives a Purchase order to the company agaionst which a Sales order will be raised to Customer in SAP.
VBAK: Sales Document(Header Data) (VBELN)
VBAP: Sales Document(Item Data) (VBELN,POSNR,MATNR,ARKTX,CHARG)
Enquiry, Quotation, Sales Order are differentiated based on Doc.
Type(VBTYP field) in VBAK,VBAP Tables( for Enquiry VBTYP = A,
for Quotation 'B' & for Order it is 'C'.)
Delivery(Picking, Packing, Post Goods Issue and Shipment)->
Company sends the material after picking it from Godown and Packing it in a Handling Unit(box) and Issues the goods
LIKP: Delivery Table (Header Data)(VBELN,LFART,KUNNR,WADAT,INCO1)
LIPS: Delivery Table (Item Data)(VBELN,POSNR,WERKS,LGORT,MATNR,VGBEL)
(LIPS-VGBEL = VBAK-VBELN, LIPS-VGPOS = VBAP-POSNR)
Billing - Also company bills to the customer for those deliveries
And in FI against this billing Accounting doc is created.
VBRK: Billing Table(Header Data)(VBELN,FKART,BELNR)
VBRP: Billing Table(Item Data)(VBELN,POSNR,FKIMG,NETWR,VGBEL,VGPOS)
(VBRP-AUBEL = VBAK-VBELN, VBRP-VGBEL = LIKP-VBELN)
Apart from these tables there are lot of other tables which starts with
V, but we use the following tables frequently.
MM Cycle:
Purchase Requisition-> STaff in an orgn places Pur requisition for want of some goods/products - ME51
Request for Quotation(RFQ)-> The Purchase dept in the orgn calls/requests for the quotation for the products against which PR was raised. - ME41
Vendor Evaluation->After receving the RFQ's, after comparison a Vendor is finalised based on the terms and conditions.
Purchase Order(PO)-> Pur order was issued to that vendor asking him to supply the goods/products -ME21N
Goods Receipt Note(GRN)->Vendor supplies the material/Products to the orgn-
MB01
Goods Issue (GI) -> People receives their respective itesm for which they have placed the Requisitions
Invoice Verification-> ALong with the Material Vendor submits a Invoice for which the Company Pays the amount - .MIRO
Data to FI -> data will be posted to FI as per the vendor invoices
you better go through all these links u will get all the info what ever u need
for sd
http://www.sapgenie.com/abap/tables_sd.htm
Please check this SD online documents.
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CAARCSD/CAARCSD.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/MYSAP/SR_SD.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCBMTWFMSD/BCBMTWFMSD.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/LOLISPLN/LOLISPLN.pdf
Also please check this SD links as well.
http://help.sap.com/saphelp_47x200/helpdata/en/92/df293581dc1f79e10000009b38f889/frameset.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/dd/55f33e545a11d1a7020000e829fd11/frameset.htm
http://www.sap-basis-abap.com/sapsd.htm
http://www.sap-img.com/sap-sd.htm
http://www.sapgenie.com/abap/tables_sd.htm
http://searchsap.techtarget.com/featuredTopic/0,290042,sid21_gci961718,00.html
http://www.sapbrain.com/TUTORIALS/FUNCTIONAL/SD_tutorial.html
All help ebooks are in PDF format here
http://www.easymarketplace.de/online-pdfs.php
for mm
http://www.sapgenie.com/abap/tables_mm.htm
http://www.sap-img.com/sap-download/sap-tables.zip
http://www.allsaplinks.com/material_management.html
http://www.training-classes.com/course_hierarchy/courses/2614_SAP_R_3_MM_Invoice_Verification_-_Rel_4_x.php
http://www.sapfriends.com/sapstuff.html
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/PSMAT/PSMAT.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CAARCMM/CAARCMM.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/MYSAP/SR_MM.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/LOMDMM/LOMDMM.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCBMTWFMMM/BCBMTWFMMM.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/MMIVMVAL/MMIVMVAL.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/MMWMLVS/MMWMLVS.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/MMISVE/MMISVE.pdf
Reward points if useful
Regards
Anji -
FI Cash in flow and Out flow report
Hi Experts,
How to get a report from BSEG and SKA1 tables based on refrence key and g/L account.
the user asked a report cash in flow and cash out flow report by joining these two tables.
Pls suggest how to achive this?
thanks,
Anand ReddyHi Reddy,
0GL_ACCOUNT_ATTR is the datasource for table SKA1.
0FI_GL_14 is the data source related to table BSEG.
create an infoset or MP on top of these two and build the report.
Edited by: prashanthk on Oct 1, 2010 1:18 PM -
SSIS Control and Data Flow Items not available in Customize Toolbox
I cannot add additional Data Flow and Control Flow items to the SSIS Toolbox. I am using SQL Server 2014 and VS 2013 (BIDS). The standard SSIS items appear - but they are all of them. How do I add the additional ones that are not loaded by default. I didn't
have this issue with SQL Server 2012.
Thank you,
Johhn
JohnJohn, which ones you do not see? AFAIK nothing has changed regarding how the items get added to SSIS toolbox in SSDT or VS 2013 with SSDT installed (no BIDS in SSIS 2012 and up).
Arthur My Blog -
Documentation of data flow and processes in BW
Hi,
Is anyone aware of the possibility to document data flow and job-flows from BW (source systems, datasources etc all the way to queries) and export it from BW.
I am looking for a SAP certified tool like ie. Erwin that can collect this documentation from BW. I have not been able to find out if Erwin supports BW.
My hope is that - now that these things are done in BW - I can extract/export this documentation and use it in our general documentation environment.
The alternative is to manually document it.
Regards,
Mick
DenmarkHi Mick,
I don't think that there is a tool like the one you are talking about...
however, if you select your infoprovider and then right-click->display data flow...in this way, you can obtain a picture of your data flow from the datasource to your provider with all the interdependencies !
Hope it helps !
Bye,
Roberto -
Re: Cash flow statement&Funds flow statement
Hi team,
I have a requirement regarding the cash flow and funds flow .Cleint wants to see the cash flow and funds flow statement and totall outsattnding and the total fund to be consumed.We didnt immplimented treasurey.without treasury how can we retrive this report .Please do the needfull.
Regards,
Suma.Dear Colleagues:
I would like to ask you if you know a Report that cover the requirement of "State of origin and application of Funds" Report. I would need an Standard Report in SAP in order not to make a Z development.
Your Sincerely
leonardo lopez
FI Consultant. -
What is difference between ADF Task Flow and Faces-Config - when delpoy ?
What is difference between ADF Task Flow and Faces-Config? When I create navigation between pages with ADF task flow then the navigation don't work when I deploy my application to Weblogic 10.3. When I use default server then navigation works fine. With Faces_config in both situations all works ok - on Stanalone server and default.
Where is the problem?
Best regards!Shay, I don't use both faces-config and adf task flow! When I failed with task flow I tried faces-config.
I have active on my weblogic - adf.oracle.domain(1.0,11.1.1.0.0). This is the right ADF? If yes then where is the problem?
Best regards! -
Hi there,
I created a datamodel and have applied a condition to it. When I execute the interface the invalid records are captured in the E$ table but all the other valid records do not appear on the target table. I couldn't able to find the reason for this. I have applied flow and static check to the condition and the same for the table column. Im not sure why the validate records are rejected.
Any help is appreciated.
CheersHI!
Let me understand, do you want the invalid records at target table?
If you use the flow control it will keep the records at E$ and WILL NOT load it.
If you use static control, it will LOAD the data and, after that, verify what are the records with problems.
Don't use both controls at same time, it doesn't make logical sense unless when needs to validate distinct constraints at each moment.
Does it help you? -
Cover flow and album sort issues
I just got a 80GB iPod classic for Christmas and I have noticed some annoying differences between iTunes cover flow and iPod cover flow:
1. In iTunes cover flow, when you have songs with "Unknown Album", they clutter up the cover flow for each artist. In iPod cover flow, they are sent to the back of the cover flow in a nice little "Various Artists" cover. I like how this works on the iPod better.
2. iTunes cover flow sorts by album artist, so you don't see a separate album for each non-album artist song.
For example: If I set my album artist for the Saturday Night Fever soundtrack to "Saturday Night Fever" (don't ask why, this is how i like it sorted) then I will only see one "Saturday Night Fever" rather than one for Bee Gees, one for Kool & the Gang, etc.
iPod cover flow sorts by artist, so you see a separate album for each non-album artist song. I like the way this works in iTunes better.
3. When sorting by "Album by Year" in iTunes, syncing the iPod doesn't seem to follow the same sorting. Albums are still sorted on the iPod alphabetically. I want them to sort by year on my iPod.
So I would appreciate it if someone could help me with all 3 of these issues. As you can see, sometimes iTunes is better for me, sometimes iPod is better for me.3. Playlists should be sorted in the same way as they are in iTunes. The Cover Flow order is fixed.
This is not the case, at least not with iTunes 7.5.0.20 and my 80GB Classic running 1.0.3 on it (current version as of this writing). In iTunes, under LIBRARY, I select Music, and I have my music sorted via *Album by Year*. This works perfectly in iTunes. I'll use my Soundgarden library as an example, as it shows the problem nicely.
*_iTunes order_:*
Ultramega OK
Louder Than Love
Screaming Life/Fopp
Badmotorfinger
Superunknown
Songs From The Superunknown
Down on the Upside
A-Sides
That's ordered by date and is perfect. +Ultramega OK+ was released way back in 1988, while A-Sides was released nearly 10 years later in 1997. In Cover Flow View it works great. However, in the iPod it's sorted alphabetically, which is completely wrong:
*_iPod Classic_:*
A-Sides
Badmotorfinger
Down on the Upside
Louder Than Love
Screaming Life/Fopp
Songs From The Superunknown
Superunknown
Ultramega OK
This is totally wrong. And I haven't yet found a way to force it.
Apple, please, this shouldn't be that difficult. -
Problem with context mapping and data flow in a FPM application
Hi All,
I am trying to develop an ESS application using FPM. For the same, the requirement is to see the history of an employee in the second view.
The first view has got just the overview information and the second one has got the detail. So, the records or the fields are the same on both the views.
As per the FPM guidelines, the Model is residing in the Fc component and the respective Vc components are using the model data accordingly.
I am executing the model in the Fc component calling the executable method in the interfaceController of the first view and then trying to display the output data of the BAPI in the first view which provides the overview information.This is working fine.
But when i am trying to map the same output node to the Table UI for the second view, the record size is coming zero and thus no information is available.
For the above issue, I am again executing the RFC in the InterfaceController of the second view to populate the records, which is incorrect as it is already executed and the data is available for the first view.
I request you to let me know the correct approach to Context mapping and data flow when using FPM-roadmap. Is their any standard method or approach available to deal with such requirements? Please let me know.
Thanks in advance.
Regards
DKHi Idhaya,
I model node is available in Fc and the Fc interface controller is being used in the first Vc and the second Vc.
So the idea is, as the executable method is generated in the Fc, so i have created a custom method to call the executable method in Fc, where the input parameter is getting passed and this custom method is finally getting called is the first Vc.
So , now my first Vc is ready to call the custom method in Fc and execute the RFC. Once the RFC is executed, the nodes in the Fc should get populated which is the ideal case.
And as the Fc is used as a component in the second Vc, the same node is available to the UI elements.
But, when I check the record size for the output node, it is always zero, for the second Vc.
Regards
DK -
ADF task-flow and transactions
Hi All,
I have created a web application using ADF and JDeveloper 11.1.1.4. The ADF web application has two pages 'Search' and 'Edit'. The 'Search' and 'Edit' are page fragments. I have two bounded task flows 'search-flow.xml and 'edit-flow.xml'. The search and edit functionality has been created as dynamic regions by dragging the task-flows onto the JSF page.
The bounded search-flow.xml has page flow from search ----> edit(Parent Action component)
The bounded edit-flow.xml has page flow as *-->edit----> search(Parent Action component)
User comes from login page to the search page. On search page users can choose to search for records and edit individual searched records or create a new record using 'CreateInsert' button. Either way users end up on the edit page.
On the edit page, users see a form to fill or modify. They have the choice to navigate back to search page using 'Search' button or commit changed record using 'Save' button or create new record using 'Create' button
The application is functioning 90% as expected, only problem is the transaction management part if the user does not care to save each time the edit is made.
Say for instance, on search page user press ' CreateInsert' button which takes the user to edit page and then without saving the new record user presses 'Search' button which takes the user to search page and so repeated goes back and forth cycle.
In such cases the transaction never ends, The primary key for each new record is retrieved from the DB sequence only on persisting to database. A place holder like negative integer is used for the primary key temporarily till new record is persisted to database.
As per best practices, I am using the checkUncommittedDatabehavior which prompts the user when navigation is done away from the edit page i.e. without saving on pressing the 'Search' button on edit page. User can choose 'OK' or 'Cancel' which comes bundled with the ADF checkUncommittedDatabehavior property. Even after selecting OK the new record does not seems to be rollbacked (Issue 1).
eg:, if the user performs the cycle(i.e navigating between search and edit pages without commit/save) 'n' times, new entity records are created with primary keys -1, -2, -3, -4 ........ so forth. As I said earlier a proper sequence number for the primary key is assigned only if a record is persisted to the database.
Now on the 'n+1' cycle the user fills the records and clicks commit, it comes up with a error 'primary keys with nulls from previous uncommitted record (i.e; 1,2,3, .....n) creation.
I guess the transaction management is not happening correctly and not completing during these cycles (1, 2...n) Note: I am not using 'Task Return' components in my bounded ADF task flows, just commit operation 'Save' button in edit page and checkUncommittedDatabehavior.
Also, in search-flow.xml I have following configured under 'Behavior' tab Transaction ---> No Controller transaction and ' Share data controls with calling task flow checked
in edit-flow.xml, these configurations are in place under 'Behavior' tab Transaction ---> Always begin new transaction and ' Share data controls with calling task flow checked and Critical checked and 'task flow rentry' as reentry-outcome dependant.
Thanks
Edited by: user5108636 on Oct 26, 2011 5:16 PM
Edited by: user5108636 on Oct 26, 2011 5:24 PMHi Frank,
I checked the DB sequence is setup correctly. I have also modified the problem description above for better understanding.
2. When users press OK, navigate to a commit method activity (just drag and drop the commit operation).
-- When user presses OK, I need to rollback instead of commit to make users lose the unsaved work and controller should navigate to the search page. Here, the message panel with Cancel and OK is shown automatically with the <af:checkUncommittedDataBehavior/> property, I thought the framework will do the rollback for me. If I need to do rollback manually, how to do it, because I cannot see the JSF related source code for the <af:checkUncommittedDataBehavior/> dialog box. Please suggest what to do
3. If they press cancel, have the return activity rolling back to the save point taken when the user entered the bounded task flow (edit task flow)
-- If they press cancel, user stays on the same page, so I will leave future action to the user. This bit is working fine in my app.
Thanks
Edited by: user5108636 on Oct 26, 2011 5:23 PM -
Creating variables in Process Flows and using thse variables in the filter
Hi,
I am new to OWB and in learing stage. Need to information.
*1. as to how pass/create/use variables to OWB mapping ?*
*2. Creating variables in Process Flows and using thse variables in the filter operator of the OWB mapping?*
*3. Other mechanisms of how to create/use variables within OWB mapping itself ?*
can you please provide the above details and guide me / help me in this regard.
Thanks,
skms.1. Add parameters to your mapping using the MAPPING INPUT PARAMETER from the pallette.
2. Add parameters to the START operator in the process flow. Bind the process flow parameter to the Mapping parameter.
3. May be appropriate to use CONSTANTS instead of parameters.
Regards
Si -
How can we use TABLE CONTROL in BDC and WORK FLOW of ABAP.
how can we use TABLE CONTROL in BDC and WORK FLOW of ABAP.?
please explain the important questions.How to deal with table control / step loop in BDC
Steploop and table contol is inevitable in certain transactions. When we run BDC for such transactions, we will face the situation: how many visible lines of steploop/tablecontrol are on the screen? Although we can always find certain method to deal with it, such as function code 'NP', 'POPO', considering some extreme situation: there is only one line visible one the screen, our BDC program should display an error message. (See transaction 'ME21', we you resize your screen to let only one row visible, you can not enter mutiple lines on this screen even you use 'NP')
Now with the help of Poonam on sapfans.com developement forum, I find a method with which we can determine the number of visible lines on Transaction Screen from our Calling BDC program. Maybe it is useless to you, but I think it will give your some idea.
Demo ABAP code has two purposes:
1. how to determine number of visible lines and how to calculte page number;
(the 'calpage' routine has been modify to meet general purpose usage)
2. using field symbol in BDC program, please pay special attention to the difference in Static ASSIGN and Dynamic ASSIGN.
Now I begin to describe the step to implement my method:
(I use transaction 'ME21', screen 121 for sample,
the method using is Call Transation Using..)
Step1: go to screen painter to display the screen 121, then we can count the fixed line on this screen, there is 7 lines above the steploop and 2 lines below the steploop, so there are total 9 fixed lines on this screen. This means except these 9 lines, all the other line is for step loop. Then have a look at steploop itselp, one entry of it will occupy two lines.
(Be careful, for table control, the head and the bottom scroll bar will possess another two fixed lines, and there is a maximum number for table line)
Now we have : FixedLine = 9
LoopLine = 2(for table control, LoopLine is always equal to 1)
Step2: go to transaction itself(ME21) to see how it roll page, in ME21, the first line of new page is always occupied by the last line of last page, so it begin with index '02', but in some other case, fisrt line is empty and ready for input.
Now we have: FirstLine = 0
or FirstLine = 1 ( in our case, FirstLine is 1 because the first line of new page is fulfilled)
Step3: write a subroutine calcalculating number of pages
(here, the name of actual parameter is the same as formal parameter)
global data: FixedLine type i, " number of fixed line on a certain screen
LoopLine type i, " the number of lines occupied by one steploop item
FirstLine type i, " possbile value 0 or 1, 0 stand for the first line of new " scrolling screen is empty, otherwise is 1
Dataline type i, " number of items you will use in BDC, using DESCRIBE to get
pageno type i, " you need to scroll screen how many times.
line type i, " number of lines appears on the screen.
index(2) type N, " the screen index for certain item
begin type i, " from parameter of loop
end type i. " to parameter of loop
*in code sample, the DataTable-linindex stands for the table index number of this line
form calpage using FixedLine type i (see step 1)
LoopLine type i (see step 1)
FirstLine type i (see step 2)
DataLine type i ( this is the item number you will enter in transaction)
changing pageno type i (return the number of page, depends on run-time visible line in table control/ Step Loop)
changing line type i.(visible lines one the screen)
data: midd type i,
vline type i, "visible lines
if DataLine eq 0.
Message eXXX.
endif.
vline = ( sy-srows - FixedLine ) div LoopLine.
*for table control, you should compare vline with maximum line of
*table control, then take the small one that is min(vline, maximum)
*here only illustrate step loop
if FirstLine eq 0.
pageno = DataLine div vline.
if pageno eq 0.
pageno = pageno + 1.
endif.
elseif FirstLine eq 1.
pageno = ( DataLine - 1 ) div ( vline - 1 ) + 1.
midd = ( DataLine - 1 ) mod ( vline - 1).
if midd = 0 and DataLine gt 1.
pageno = pageno - 1.
endif.
endif.
line = vline.
endform.
Step4 write a subroutine to calculate the line index for each item.
form calindex using Line type i (visible lines on the screen)
FirstLine type i(see step 2)
LineIndex type i(item index)
changing Index type n. (index on the screen)
if FirstLine = 0.
index = LineIndex mod Line.
if index = '00'.
index = Line.
endif.
elseif FirstLine = 1.
index = LineIndex mod ( Line - 1 ).
if ( index between 1 and 0 ) and LineIndex gt 1.
index = index + Line - 1.
endif.
if Line = 2.
index = index + Line - 1.
endif.
endif.
endform.
Step5 write a subroutine to calculate the loop range.
form calrange using Line type i ( visible lines on the screen)
DataLine type i
FirstLine type i
loopindex like sy-index
changing begin type i
end type i.
If FirstLine = 0.
if loopindex = 1.
begin = 1.
if DataLine <= Line.
end = DataLine.
else.
end = Line.
endif.
elseif loopindex gt 1.
begin = Line * ( loopindex - 1 ) + 1.
end = Line * loopindex.
if end gt DataLine.
end = DataLine.
endif.
endif.
elseif FirstLine = 1.
if loopindex = 1.
begin = 1.
if DataLine <= Line.
end = DataLine.
else.
end = Line.
endif.
elseif loop index gt 1.
begin = ( Line - 1 ) * ( loopindex - 1 ) + 2.
end = ( Line - 1 ) * ( loopindex - 1 ) + Line.
if end gt DataLine.
end = DataLine.
endif.
endif.
endif.
endform.
Step6 using field sysbol in your BDC, for example: in ME21, but you should calculate each item will correponding to which index in steploop/Table Control
form creat_bdc.
field-symbols: <material>, <quan>, <indicator>.
data: name1(14) value 'EKPO-EMATN(XX)',
name2(14) value 'EKPO-MENGE(XX)',
name3(15) value 'RM06E-SELKZ(XX)'.
assign: name1 to <material>,
name2 to <quan>,
name3 to <indicator>.
do pageno times.
if sy-index gt 1
*insert scroll page ok_code"
endif.
perform calrange using Line DataLine FirstLine sy-index
changing begin end.
loop at DataTable from begin to end.
perform calindex using Line FirstLine DataTable-LineIndex changing Index.
name1+11(2) = Index.
name2+11(2) = Index.
name3+12(2) = Index.
perform bdcfield using <material> DataTable-matnr.
perform bdcfield using <quan> DataTable-menge.
perform bdcfield using <indicator> DataTable-indicator.
endloop.
enddo.
An example abap program of handling Table Control during bdc programming.
REPORT zmm_bdcp_purchaseorderkb02
NO STANDARD PAGE HEADING LINE-SIZE 255.
Declaring internal tables *
*-----Declaring line structure
DATA : BEGIN OF it_dummy OCCURS 0,
dummy(255) TYPE c,
END OF it_dummy.
*-----Internal table for line items
DATA : BEGIN OF it_idata OCCURS 0,
ematn(18), "Material Number.
menge(13), "Qyantity.
netpr(11), "Net Price.
werks(4), "Plant.
ebelp(5), "Item Number.
END OF it_idata.
*-----Deep structure for header data and line items
DATA : BEGIN OF it_me21 OCCURS 0,
lifnr(10), "Vendor A/c No.
bsart(4), "A/c Type.
bedat(8), "Date of creation of PO.
ekorg(4), "Purchasing Organisation.
ekgrp(3), "Purchasing Group.
x_data LIKE TABLE OF it_idata,
END OF it_me21.
DATA : x_idata LIKE LINE OF it_idata.
DATA : v_delimit VALUE ','.
DATA : v_indx(3) TYPE n.
DATA : v_fnam(30) TYPE c.
DATA : v_count TYPE n.
DATA : v_ne TYPE i.
DATA : v_ns TYPE i.
*include bdcrecx1.
INCLUDE zmm_incl_purchaseorderkb01.
Search help for file *
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = syst-cprog
dynpro_number = syst-dynnr
IMPORTING
file_name = p_file.
START-OF-SELECTION.
To upload the data into line structure *
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
filename = p_file
filetype = 'DAT'
TABLES
data_tab = it_dummy.
Processing the data from line structure to internal tables *
REFRESH:it_me21.
CLEAR :it_me21.
LOOP AT it_dummy.
IF it_dummy-dummy+0(01) = 'H'.
v_indx = v_indx + 1.
CLEAR it_idata.
REFRESH it_idata.
CLEAR it_me21-x_data.
REFRESH it_me21-x_data.
SHIFT it_dummy.
SPLIT it_dummy AT v_delimit INTO it_me21-lifnr
it_me21-bsart
it_me21-bedat
it_me21-ekorg
it_me21-ekgrp.
APPEND it_me21.
ELSEIF it_dummy-dummy+0(01) = 'L'.
SHIFT it_dummy.
SPLIT it_dummy AT v_delimit INTO it_idata-ematn
it_idata-menge
it_idata-netpr
it_idata-werks
it_idata-ebelp.
APPEND it_idata TO it_me21-x_data.
MODIFY it_me21 INDEX v_indx.
ENDIF.
ENDLOOP.
To open the group *
PERFORM open_group.
To populate the bdcdata table for header data *
LOOP AT it_me21.
v_count = v_count + 1.
REFRESH it_bdcdata.
PERFORM subr_bdc_table USING: 'X' 'SAPMM06E' '0100',
' ' 'BDC_CURSOR' 'EKKO-LIFNR',
' ' 'BDC_OKCODE' '/00',
' ' 'EKKO-LIFNR' it_me21-lifnr,
' ' 'RM06E-BSART' it_me21-bsart,
' ' 'RM06E-BEDAT' it_me21-bedat,
' ' 'EKKO-EKORG' it_me21-ekorg,
' ' 'EKKO-EKGRP' it_me21-ekgrp,
' ' 'RM06E-LPEIN' 'T'.
PERFORM subr_bdc_table USING: 'X' 'SAPMM06E' '0120',
' ' 'BDC_CURSOR' 'RM06E-EBELP',
' ' 'BDC_OKCODE' '/00'.
MOVE 1 TO v_indx.
*-----To populate the bdcdata table for line item data
LOOP AT it_me21-x_data INTO x_idata.
CONCATENATE 'EKPO-EMATN(' v_indx ')' INTO v_fnam.
PERFORM subr_bdc_table USING ' ' v_fnam x_idata-ematn.
CONCATENATE 'EKPO-MENGE(' v_indx ')' INTO v_fnam.
PERFORM subr_bdc_table USING ' ' v_fnam x_idata-menge.
CONCATENATE 'EKPO-NETPR(' v_indx ')' INTO v_fnam.
PERFORM subr_bdc_table USING ' ' v_fnam x_idata-netpr.
CONCATENATE 'EKPO-WERKS(' v_indx ')' INTO v_fnam.
PERFORM subr_bdc_table USING ' ' v_fnam x_idata-werks.
v_indx = v_indx + 1.
PERFORM subr_bdc_table USING: 'X' 'SAPMM06E' '0120',
' ' 'BDC_CURSOR' 'RM06E-EBELP',
' ' 'BDC_OKCODE' '/00'.
ENDLOOP.
PERFORM subr_bdc_table USING: 'X' 'SAPMM06E' '0120',
' ' 'BDC_CURSOR' 'RM06E-EBELP',
' ' 'BDC_OKCODE' '=BU'.
PERFORM bdc_transaction USING 'ME21'.
ENDLOOP.
PERFORM close_group.
End of selection event *
END-OF-SELECTION.
IF session NE 'X'.
*-----To display the successful records
WRITE :/10 text-001. "Sucess records
WRITE :/10 SY-ULINE(20).
SKIP.
IF it_sucess IS INITIAL.
WRITE :/ text-002.
ELSE.
WRITE :/ text-008, "Total number of Succesful records
35 v_ns.
SKIP.
WRITE:/ text-003, "Vendor Number
17 text-004, "Record number
30 text-005. "Message
ENDIF.
LOOP AT it_sucess.
WRITE:/4 it_sucess-lifnr,
17 it_sucess-tabix CENTERED,
30 it_sucess-sucess_rec.
ENDLOOP.
SKIP.
*-----To display the erroneous records
WRITE:/10 text-006. "Error Records
WRITE:/10 SY-ULINE(17).
SKIP.
IF it_error IS INITIAL.
WRITE:/ text-007. "No error records
ELSE.
WRITE:/ text-009, "Total number of erroneous records
35 v_ne.
SKIP.
WRITE:/ text-003, "Vendor Number
17 text-004, "Record number
30 text-005. "Message
ENDIF.
LOOP AT it_error.
WRITE:/4 it_error-lifnr,
17 it_error-tabix CENTERED,
30 it_error-error_rec.
ENDLOOP.
REFRESH it_sucess.
REFRESH it_error.
ENDIF.
CODE IN INCLUDE.
Include ZMM_INCL_PURCHASEORDERKB01
DATA: it_BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
DATA: it_MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
DATA: E_GROUP_OPENED.
*-----Internal table to store sucess records
DATA:BEGIN OF it_sucess OCCURS 0,
msgtyp(1) TYPE c,
lifnr LIKE ekko-lifnr,
tabix LIKE sy-tabix,
sucess_rec(125),
END OF it_sucess.
DATA: g_mess(125) type c.
*-----Internal table to store error records
DATA:BEGIN OF it_error OCCURS 0,
msgtyp(1) TYPE c,
lifnr LIKE ekko-lifnr,
tabix LIKE sy-tabix,
error_rec(125),
END OF it_error.
Selection screen
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS session RADIOBUTTON GROUP ctu. "create session
SELECTION-SCREEN COMMENT 3(20) text-s07 FOR FIELD session.
SELECTION-SCREEN POSITION 45.
PARAMETERS ctu RADIOBUTTON GROUP ctu. "call transaction
SELECTION-SCREEN COMMENT 48(20) text-s08 FOR FIELD ctu.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 3(20) text-s01 FOR FIELD group.
SELECTION-SCREEN POSITION 25.
PARAMETERS group(12). "group name of session
SELECTION-SCREEN COMMENT 48(20) text-s05 FOR FIELD ctumode.
SELECTION-SCREEN POSITION 70.
PARAMETERS ctumode LIKE ctu_params-dismode DEFAULT 'N'.
"A: show all dynpros
"E: show dynpro on error only
"N: do not display dynpro
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 48(20) text-s06 FOR FIELD cupdate.
SELECTION-SCREEN POSITION 70.
PARAMETERS cupdate LIKE ctu_params-updmode DEFAULT 'L'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 3(20) text-s03 FOR FIELD keep.
SELECTION-SCREEN POSITION 25.
PARAMETERS: keep AS CHECKBOX. "' ' = delete session if finished
"'X' = keep session if finished
SELECTION-SCREEN COMMENT 48(20) text-s09 FOR FIELD e_group.
SELECTION-SCREEN POSITION 70.
PARAMETERS e_group(12). "group name of error-session
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 51(17) text-s03 FOR FIELD e_keep.
SELECTION-SCREEN POSITION 70.
PARAMETERS: e_keep AS CHECKBOX. "' ' = delete session if finished
"'X' = keep session if finished
SELECTION-SCREEN END OF LINE.
PARAMETERS:p_file LIKE rlgrap-filename.
at selection screen *
AT SELECTION-SCREEN.
group and user must be filled for create session
IF SESSION = 'X' AND
GROUP = SPACE. "OR USER = SPACE.
MESSAGE E613(MS).
ENDIF.
create batchinput session *
FORM OPEN_GROUP.
IF SESSION = 'X'.
SKIP.
WRITE: /(20) 'Create group'(I01), GROUP.
SKIP.
*----open batchinput group
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
CLIENT = SY-MANDT
GROUP = GROUP
USER = sy-uname.
WRITE:/(30) 'BDC_OPEN_GROUP'(I02),
(12) 'returncode:'(I05),
SY-SUBRC.
ENDIF.
ENDFORM. "OPEN_GROUP
end batchinput session *
FORM CLOSE_GROUP.
IF SESSION = 'X'.
*------close batchinput group
CALL FUNCTION 'BDC_CLOSE_GROUP'.
WRITE: /(30) 'BDC_CLOSE_GROUP'(I04),
(12) 'returncode:'(I05),
SY-SUBRC.
ELSE.
IF E_GROUP_OPENED = 'X'.
CALL FUNCTION 'BDC_CLOSE_GROUP'.
WRITE: /.
WRITE: /(30) 'Fehlermappe wurde erzeugt'(I06).
ENDIF.
ENDIF.
ENDFORM. "CLOSE_GROUP
Start new transaction according to parameters *
FORM BDC_TRANSACTION USING TCODE TYPE ANY.
DATA: L_SUBRC LIKE SY-SUBRC.
*------batch input session
IF SESSION = 'X'.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
TCODE = TCODE
TABLES
DYNPROTAB = it_BDCDATA.
WRITE: / 'BDC_INSERT'(I03),
TCODE,
'returncode:'(I05),
SY-SUBRC,
'RECORD:',
SY-INDEX.
ELSE.
REFRESH it_MESSTAB.
CALL TRANSACTION TCODE USING it_BDCDATA
MODE CTUMODE
UPDATE CUPDATE
MESSAGES INTO it_MESSTAB.
L_SUBRC = SY-SUBRC.
WRITE: / 'CALL_TRANSACTION',
TCODE,
'returncode:'(I05),
L_SUBRC,
'RECORD:',
SY-INDEX.
ENDIF.
Message handling for Call Transaction *
perform subr_mess_hand using g_mess.
*-----Erzeugen fehlermappe
IF L_SUBRC <> 0 AND E_GROUP <> SPACE.
IF E_GROUP_OPENED = ' '.
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
CLIENT = SY-MANDT
GROUP = E_GROUP
USER = sy-uname
KEEP = E_KEEP.
E_GROUP_OPENED = 'X'.
ENDIF.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
TCODE = TCODE
TABLES
DYNPROTAB = it_BDCDATA.
ENDIF.
REFRESH it_BDCDATA.
ENDFORM. "BDC_TRANSACTION
Form subr_bdc_table *
text
-->P_0220 text *
-->P_0221 text *
-->P_0222 text *
FORM subr_bdc_table USING VALUE(P_0220) TYPE ANY
VALUE(P_0221) TYPE ANY
VALUE(P_0222) TYPE ANY.
CLEAR it_bdcdata.
IF P_0220 = ' '.
CLEAR it_bdcdata.
it_bdcdata-fnam = P_0221.
it_bdcdata-fval = P_0222.
APPEND it_bdcdata.
ELSE.
it_bdcdata-dynbegin = P_0220.
it_bdcdata-program = P_0221.
it_bdcdata-dynpro = P_0222.
APPEND it_bdcdata.
ENDIF.
ENDFORM. " subr_bdc_table
Form subr_mess_hand *
text *
-->P_G_MESS text *
FORM subr_mess_hand USING P_G_MESS TYPE ANY.
LOOP AT IT_MESSTAB.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
ID = it_messtab-msgid
LANG = it_messtab-msgspra
NO = it_messtab-msgnr
v1 = it_messtab-msgv1
v2 = it_messtab-msgv2
IMPORTING
MSG = P_G_MESS
EXCEPTIONS
OTHERS = 0.
CASE it_messtab-msgtyp.
when 'E'.
it_error-error_rec = P_G_MESS.
it_error-lifnr = it_me21-lifnr.
it_error-tabix = v_count.
APPEND IT_ERROR.
when 'S'.
it_sucess-sucess_rec = P_G_MESS.
it_sucess-lifnr = it_me21-lifnr.
it_sucess-tabix = v_count.
APPEND IT_SUCESS.
endcase.
ENDLOOP.
Describe table it_sucess lines v_ns.
Describe table it_error lines v_ne.
ENDFORM. " subr_mess_hand
Also refer
http://sap.ittoolbox.com/groups/technical-functional/sap-dev/bdc-table-control-668404
and
http://www.sap-img.com/abap/bdc-example-using-table-control-in-bdc.htm
Regards,
srinivas
<b>*reward for useful answers*</b> -
Datasource related to FI and Cash Flow
Hi ,can anyone please give me information on FI and Cash Flow management and it's datasource as well.
Regards
ArjunHi,
Check the presentation
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/a7f2f294-0501-0010-11bb-80e0d67c3e4a
Regards. -
Purchase and sales flow resulting from 'production in other plant'.
Dear all,
When using the procurement type 'P' (production in other plant), materials are consumed in plant A and goods receipts from production order happens in plant B.
When plants A and B belong to different company codes, SAP generates a cross-company document. Within the receiving company, the offsetting account for the stock account is the cross-company clearing account.
This posting is generally not sufficient as legal and tax requirements ask for a sales and purchasing flow between the 2 company codes. Therefore many companies need to 'develop a solution' to complete this posting 'after the facts'.
Does anybody know whether this additional posting exists under the form of an 'add-on' or additional solution to the standard made available by one or another partner of SAP ? Note that the starting point for this question is important : our company wants to use the 'production in other plant' flow because the native purchase and sales flows are too much time consuming.
Thanks for your help.
José BegheinHi all,
I want to be a bit more accurate here :
The produced material in plant B has a special procurement type code (MARC-SOBSL) which in its definition contains procurement type E (BESKZ) and special procurement P (ESOBS). It is special procurement P that triggers the 'production in other plant' behaviour. The production plant (WRK02) is also specified in the definition of the special procurement type code.
Kind regards.
José Beghein
Maybe you are looking for
-
How to output various file types from a stored procedure
Good morning, I would like to output to spreadsheet files like microsoft Excel, Lotus 123 or to a comma delimited text file from stored procedures. We run Oracle 8i and this report is accessed from an intranet site using stored procedures and the pl/
-
I am using Skype App to send international SMS. However, it sometimes sent via carrier instead of skype so I got charged expensive fee. Is there any way that I can set on the app only send via skype? Thanks
-
Can apple tv connect to networked hard drive?
I just got my Apple TV is there anyway to access movies that are on an external hard drive on my wireless network?
-
Hi, I just setup a Mac Pro with a 30'' Cinema Display. Details: Processor 065-6508 3.00 GHz Dual-Core Intel Xeon Memory 065-6413 4GB 667 DDR2 FB DIMM ECC-4x1GB Graphics Card 065-6452 2xNVIDIA GeForce 7300 GT 256MB Hard Drive Bay1 065-6367 500GB Seria
-
I am organizing my library of stock video footage so is easily view (show to clients) and access. I need advice for two things: First: What is a good program to catalog footage in? I am considering using iTunes because I already have it and I could s