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 Category’s 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

  • SD FLOW AND MM FLOW

    Hi All,
    can any one explain regarding SD FLOW AND MM FLOW clrearly..
    urgent.
    rgdsm

    Hi
    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 Reddy

    Hi 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
    John

    John, 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
    Denmark

    Hi 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!

  • Flow and Static checks

    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.
    Cheers

    HI!
    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
    DK

    Hi 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 PM

    Hi 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
    Arjun

    Hi,
    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é Beghein

    Hi 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