How to Test SSRS Custom Data Extension in TSql

Hi There,
I have created a custom data extenstion for SSRS 2008 Reporting Service.
I can test the CDE in the Report DataSet -> DataSet Properties -> Query Designer -> Run Query.
In the Command Text I pass parameters to the invoked VB code which is of type "BaanstedeCds" then name of my custom data extension.
I can even Attach the Visual Studio VB Code Project that is invoked by the Query Designer an debug the code.
The custom data extension works perfectly in SSRS.
However I have not found a way yet to run BaanstedeCds (with a parametertext) from within SSMS 2008 by using an T-SQL statement!!! Is there a way to use the SSRS Custom Data Extension in Sql Server Management Studio using the dataset type I used in
SSRS 2008?
Because I am leaving the path of using Custom Assemblies in SSMS, for deploying an testing that way is undoable for me.
I is to complicated and in order to properly debug these routines the entire solution of multiple projects is deployed each time even the slightest change has been made to the VB code. Also if I want to deploy from Test to Production it is very hard. I have
to detach the databases etc, ect.  Note my previous question about this subject that remained unanswered!!!
Using the Custom Data Extension the problems are a lot less. However I how do I use a routine in the CDS in T-SQL, like I could invoke a routine in the Custom Code Assemblies?
 I "hate" CLR routines. I have extreme trouble managing these CLR's as I explained in my post and other posts in the past.
You just cannot build a maagable system that way.
I had to convert all the CLR's (I had a lot of them) to Custom Data Extension Functions, as they do not have all the drawbacks  of CLR's.
And using the CDE with all the converted CLR's in it works much better for me in the Report Manager.
However in order to test de CDE I must invoke the CDE in a Windows Form something like this:
Private Sub cmdGetData_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdGetData.Click
Dim CommandText As String = ""
' Get Parameters for CDE GetData
CommandText = txtAdoCds.Text
Dim Rdr As New BstCds.BaanstedeCdsReader(CommandText)
' Invoke GetData Function of CDE Rdr
' Input: CommandText: txtAdoCds.Text = TextBox on TestForm
' Output: DataTable: RdrDataTable
Call Rdr.GetData(CommandText)
If Not Rdr.RdrRetVal Then
GoTo End_Method
End If
' Show DataTable: RdrDataTable (in Excel)
If Not BstOff.ToonTabel(DataTabel:=Rdr.RdrDataTable) Then
Exit Sub
End If
End_Method:
End Sub
'=========================================================================
' File: BaanstedeCdsReader.vb
' Summary: Provides a means of reading one or more forward-only streams
' of result sets obtained by executing a command at a data source,
' and is implemented by Baanstede Data Processing Extensions
' that access BaanstedeIw3-routines.
'=========================================================================
Public Class BaanstedeCdsReader
Implements IDataReader
#Region "Public Variables"
Public RdrRetVal As Boolean = False
Public RdrSqlSel As String = ""
Public RdrDataTable As DataTable = New DataTable
#End Region
#Region "Constructors"
#End Region
#Region "IDataReader Members"
#End Region
' GetData '
#Region "GetData Method"
'==================================================================================================
'We are executing the command using the connection string that connects to the Active Directory.
'Hard coding of the connection string is because it is the same for all the ADs.
'Once we read the data using a DataReader, we place the same in a DataTable so that can be used for
'Other processings.
' Public Sub GetData(ByVal _CommandText As String)
' Output in Public RdrDataTable As DataTable
'==================================================================================================
Public Sub GetData(ByVal _CommandText As String)
' Ophalen Data in DataTabel '
RdrRetVal = False
' Fills RdrDataTable Using _COmmandText
RdrRetVal = True
End Sub
But can I invoke Report Manager Source Type BaanstdeCds's .BaanstedeCdsReader.GetData(CommandText) in TSQL any other way then using CLR ?
Regards Jos
It works, but it does not work (The program runs, but does not produce the desired result)

Hi Josje,
Thank you for your question.
I am trying to involve someone more familiar with this topic for a further look at this issue. Sometime delay might be expected from the job transferring. Your patience is greatly appreciated.
Thank you for your understanding and support.
Thanks,
Wendy Fu
Wendy Fu
TechNet Community Support

Similar Messages

  • Calling a Stored Procedure using SSRS Custom Data Processing Extension

    I need SSRS Custom Data Processing Extension to call a stored procedure for my ssrs report. I refered many links regarding this, but i cannot find it. Instead of that there are examples for Data processing extensions that uses XML files and also multiple
    data sources.
    I want Data Processing Extension to call a stored procedure.
    Please Help. Thanks in advance

    Sorry why do you need a Data Processing Extension for that? Cant you directly call the procedure
    from SSRS dataset? Whats the RDBMS which holds this procedure?
    Please Mark This As Answer if it solved your issue
    Please Vote This As Helpful if it helps to solve your issue
    Visakh
    My Wiki User Page
    My MSDN Page
    My Personal Blog
    My Facebook Page

  • How to access the Custom Data type variable given in Expression edit control To and From LabVIEW

    Hello, I would like to know how to access the custom data type variable given in the Espression Edit Control from LabVIEW and vice-versa
    Say, the FileGlobals.Reference_Handle (Custom Data Type Variable) contains the
    VISA I/O session (Which in turn contains VISA_DeviceName: String, Session: Number),
    Channel1: Number and
    Channel2: Number
    I am expecting the user to give FileGlobals.Reference_Handle as the input at the ExpressionEdit Control in the edit screen of the VI Call.
    I would like to know how to get the values of this custom data type to LabVIEW?
    Say, if I have the Cluster in LabVIEW like VISA I/O session (Deive Name and Session Number), Channel1 and Channel2
    how do i need to set this cluster to the Custom Data type variable in TestStand?
    Thanks and Regards
    Prakash 

    Hi,
    TestStand to LabVIEW: i didnt understand what you r trying to achieve. But if you are using references, Use Property nodes and Invoke nodes to achieve what you want in LabVIEW.
     LabVIEW to TestStand: check the image below: You need to click the button next to 'container'. I have used a cluster output in the VI.
    Hope this helps
    .......^___________________^
    ....../ '---_BOT ____________ ]
    ...../_==O;;;;;;;;_______.:/
    Attachments:
    1.JPG ‏187 KB

  • How to pass custom cookie from report builder application to SSRS Custom Security Extension?

    We want to implement SSRS in SaaS model. We implemented Custom Security extension in order to authenticate users from other application. When user enters username/password, i would like to authenticate the user in other application and it will return some data which can be used for autherization. I am expecting the same set of data will be accessible during all autherization calls.
    Currently we are implementing this in Report Builder application. I couldn't able to persist the information in cookie. Report builder removes all the cookies exceprt one cookie which is used by report server.Is there any way to share the information in all reportbuilder autherization calls in same session?

    if you have your own data extension, you can using
    HttpContext.Current.Application.Add("yourkey",
    yourdata);
    to save your data, but the issue I met it the key, I cannot find a key depended on report builder. If I use username, if the user open 2 report builder, both of them will get the same key and same data, but at this case the data should be different.
    I hope it will help you.

  • SSRS Custom Data Processing Extension Error

    I am using Custom Data Processing Extension to call a stored procedure. Iam getting following error when creating a dataset in report designer using the extension. I wrote the code in c#.
    could not update a list of fields for the query. verify that you can connect to the data source and that your query syntax is correct.(Details-Object reference not set to an instance of an object.)
    Here is my code
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.IO;
    using System.Data;
    using System.Data.SqlClient;
    using Microsoft.ReportingServices.DataProcessing;
    using System.Diagnostics;
    using System.Text.RegularExpressions;
    namespace DataBaseDPE
    public class DBConnection:Microsoft.ReportingServices.DataProcessing.IDbConnectionExtension
    private string mconnstring;
    private string localname = "Database Connection";
    private ConnectionState mState = ConnectionState.Open;
    public DBConnection()
    Debug.WriteLine("DataSetConnection: Default Constructor");
    public DBConnection(string Dconnection)
    Debug.WriteLine("DataSetConnection Constructor overloaded with Connection String ");
    mconnstring = Dconnection;
    public Microsoft.ReportingServices.DataProcessing.IDbTransaction BeginTransaction()
    return (null);
    public string ConnectionString
    get
    return mconnstring;
    set
    mconnstring = value;
    public int ConnectionTimeout
    get
    return 0;
    public ConnectionState State
    get
    return mState;
    public void Open()
    mState = ConnectionState.Open;
    return;
    public void Close()
    mState = ConnectionState.Closed;
    return;
    public Microsoft.ReportingServices.DataProcessing.IDbCommand CreateCommand()
    return new DBCommand(this);
    public string LocalizedName
    get
    return localname;
    set
    localname = value;
    public void SetConfiguration(string configuration)
    try
    SqlConnection sqlconn = new SqlConnection("Data Source=localhost;Initial Catalog=AdventureWorks2000;Integrated Security=True;");
    catch (Exception e)
    throw new Exception(e.Message, null);
    public void Dispose()
    public string Impersonate
    { get; set; }
    public bool IntegratedSecurity
    { get; set; }
    public string Password
    { get; set; }
    public string UserName
    { get; set; }
    using System;
    using System.Collections.Generic;
    using System.Text;
    using Microsoft.ReportingServices.DataProcessing;
    using System.Data.SqlClient;
    namespace DataBaseDPE
    public class DBCommand : Microsoft.ReportingServices.DataProcessing.IDbCommand
    DBConnection mconnection = null;
    private string mCmdText;
    private int mCmdTimeOut = 30;
    private CommandType CmdType;
    public DBCommand()
    public DBCommand(string CmdText)
    mCmdText = CmdText;
    public DBCommand(DBConnection aConnection)
    mconnection = aConnection;
    public void Cancel()
    throw new NotImplementedException();
    public string CommandText
    get
    return mCmdText;
    set
    mCmdText = value;
    public int CommandTimeout
    get
    return mCmdTimeOut;
    set
    mCmdTimeOut = value;
    public CommandType CommandType
    get
    return CmdType;
    set
    CmdType = value;
    public IDataParameter CreateParameter()
    return (null);
    public class MySqlDataReader:Microsoft.ReportingServices.DataProcessing.IDataReader
    private System.Data.IDataReader sourceDataReader;
    private System.Data.DataTable dt;
    private System.Data.DataSet ds;
    private int fieldCount = 0;
    private string fieldName;
    private int fieldOrdinal;
    private Type fieldType;
    private object fieldValue;
    private int currentRow = 0;
    public MySqlDataReader(System.Data.IDataReader datareader)
    this.sourceDataReader = datareader;
    public MySqlDataReader(System.Data.DataTable dt)
    // TODO: Complete member initialization
    this.dt = dt;
    public MySqlDataReader(System.Data.DataSet ds)
    // TODO: Complete member initialization
    this.ds = ds;
    public int FieldCount
    get
    fieldCount = ds.Tables[0].Columns.Count;
    return fieldCount;
    public Type GetFieldType(int i)
    fieldType =
    ds.Tables[0].Columns[i].DataType;
    return fieldType;
    public string GetName(int i)
    fieldName = ds.Tables[0].Columns[i].ColumnName;
    return fieldName;
    public int GetOrdinal(string name)
    fieldOrdinal =
    ds.Tables[0].Columns[name].Ordinal;
    return fieldOrdinal;
    public object GetValue(int i)
    fieldValue =
    ds.Tables[0].Rows[this.currentRow][i];
    return fieldValue;
    public bool Read()
    currentRow++;
    if (currentRow >= ds.Tables[0].Rows.Count)
    return (false);
    else
    return (true);
    public void Dispose()
    public IDataReader ExecuteReader(CommandBehavior behavior)
    string query = "SampleSP";
    SqlConnection readerconn = new SqlConnection("Data Source=localhost;Initial Catalog=AdventureWorks2000;Integrated Security=SSPI");
    SqlCommand readercmd = new SqlCommand(query);
    readerconn.Open();
    readercmd = readerconn.CreateCommand();
    readercmd.CommandText = query;
    readercmd.CommandType = System.Data.CommandType.StoredProcedure;
    readerconn.Close();
    SqlDataAdapter adapter = new SqlDataAdapter(query,readerconn);
    readerconn.Open();
    adapter.SelectCommand = readercmd;
    System.Data.DataTable dt = new System.Data.DataTable();
    adapter.Fill(dt);
    System.Data.DataSet ds = new System.Data.DataSet();
    adapter.Fill(ds);
    return new MySqlDataReader(ds);
    public IDataParameterCollection Parameters
    get { return (null); }
    public IDbTransaction Transaction
    get
    return (null);
    set
    throw new NotImplementedException();
    public void Dispose()
    Please help me, Thanks in advance

    Sorry why do you need a Data Processing Extension for that? Cant you directly call the procedure
    from SSRS dataset? Whats the RDBMS which holds this procedure?
    Please Mark This As Answer if it solved your issue
    Please Vote This As Helpful if it helps to solve your issue
    Visakh
    My Wiki User Page
    My MSDN Page
    My Personal Blog
    My Facebook Page

  • How can I have custom data annotation attribute alter the Target of a migration?

    I want to create custom data annotation attributes in order to alter the database accordingly.
    To have this custom attribute apply, I want to create a
    custom MigrationOperation/SqlServerMigrationSqlGenerator in order to execute the database related changes.
    Now I need to get the migration Target (SQL Server: [__MigrationHistory table].[Target]) altered so that a manual/automatic migration will recognize the custom attribute and apply the custom MigrationOperation (and its inverse operation).
    How can I achieve this?
    I guess custom model based conventions may have to do something with this, but I'm not sure, though.
    Still people out there alive using the keyboard?
    Working with SQL Server/Visual Studio/Office/Windows and their poor keyboard support they seem extinct...

    Hello,
    >>Very strange... I've altered my Configuration file according to your amendments, but still no exception is thrown. Why doesn't it throw at my machine? I don't get it ...
    I am wondering if the order of the steps makes difference, my steps are follow:
    With your project, I comment out the TestMigrationConfiguration and replace it with a manual generated one and register the TestSqlGenerator in it.
    Then it throws the exception. I merge all separate classes to one as below which could generate the error, please have a try:
    using System;
    using System.Collections.Generic;
    using System.Data.Entity;
    using System.Data.Entity.Infrastructure.Annotations;
    using System.Data.Entity.Migrations;
    using System.Data.Entity.Migrations.Model;
    using System.Data.Entity.Migrations.Utilities;
    using System.Data.Entity.ModelConfiguration.Conventions;
    using System.Data.Entity.SqlServer;
    using System.Globalization;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.ComponentModel.DataAnnotations;
    namespace P200150121
    class Program
    static void Main(string[] args)
    using (MyContext ctx = new MyContext())
    ctx.t1.Add(new T1() { Name = "Test" });
    ctx.SaveChanges();
    public class T1
    public int ID { get; set; }
    [Required]
    [MaxLength(100)]
    [Test("de-DE")]
    public string Name { get; set; }
    [Required]
    public bool IsConfirmed { get; set; }
    public class MyContext : DbContext
    public DbSet<T1> t1 { get; set; }
    static MyContext()
    Database.SetInitializer<MyContext>(new MigrateDatabaseToLatestVersion<MyContext, Configuration>());
    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    modelBuilder.Conventions.Add(new AttributeToColumnAnnotationConvention<TestAttribute, string>("TestAnnotation", (property, attributes) => attributes[0].CultureInfo.Name));
    //internal abstract class TestMigrationConfiguration : DbConfiguration
    // public TestMigrationConfiguration()
    // SetMigrationSqlGenerator("System.Data.SqlClient", () => new TestSqlGenerator());
    internal sealed class Configuration : DbMigrationsConfiguration<MyContext>
    public Configuration()
    AutomaticMigrationsEnabled = true;
    SetSqlGenerator("System.Data.SqlClient", new TestSqlGenerator());
    protected override void Seed(P200150121.MyContext context)
    // This method will be called after migrating to the latest version.
    // You can use the DbSet<T>.AddOrUpdate() helper extension method
    // to avoid creating duplicate seed data. E.g.
    // context.People.AddOrUpdate(
    // p => p.FullName,
    // new Person { FullName = "Andrew Peters" },
    // new Person { FullName = "Brice Lambson" },
    // new Person { FullName = "Rowan Miller" }
    internal class TestSqlGenerator : SqlServerMigrationSqlGenerator
    protected override void Generate(ColumnModel column, IndentedTextWriter writer)
    try
    AnnotationValues values = null;
    System.IO.File.AppendAllText("New Text Document.txt", column.Name + " Is GetValue : " + column.Annotations.TryGetValue("TestAnnotation", out values) + "\r\n");
    if (values != null)
    throw new Exception(string.Format("oldValue1='{0}', newValue1='{1}'", values.OldValue, values.NewValue));
    values = column.Annotations["TestAnnotation"];
    throw new Exception(string.Format("oldValue1='{0}', newValue1='{1}'", values.OldValue, values.NewValue));
    catch (KeyNotFoundException)
    base.Generate(column, writer);
    [AttributeUsage(AttributeTargets.Property)]
    public class TestAttribute : Attribute
    private CultureInfo _cultureInfo = CultureInfo.CurrentCulture;
    public CultureInfo CultureInfo { get { return _cultureInfo; } }
    public TestAttribute()
    public TestAttribute(string cultureName)
    _cultureInfo = new CultureInfo(cultureName);
    public TestAttribute(int lcid)
    _cultureInfo = new CultureInfo(lcid);
    Regards.
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • How to test or view data if the source is XML files..?

    Hi,
    I just got a doubt..
    How can we test or view data from BI Admintool if the source is XML files.
    If it is database we can perform "Update Row Count" or "view data" from physical layer.
    I am just going through the "sample sales" example and could not find the option to test
    connectivity with xml file..(I can see the directory which points to samplesales and xml files..
    but how can I view those data in BI admintool)..
    Help would be appreciable..
    Thanks and Regards,
    Sri.

    Hi Sri,
    Yes, this option is not available for XML and multidimensional sources. Check "Show row count in physical view" in Table 2-1 documented here ,
    http://docs.oracle.com/cd/E21764_01/bi.1111/e10540/planning.htm#BABEFIHE
    Rgds,
    Dpka

  • How can take a Custom Data Type in TestStand and create a LabVIEW DataType?

    I am using LV 8.2 and TS 3.5.
    I have an existing Custom Data Type in TestStand and I want to make a LabView Type Def.  The TS DataType contains 11 elements: a Visa Resource Container of 2 elements (String, DeviceName and Number, Session), 9 Numerics and 1 String Array.  For Backwards compatability, I cannot modify the TestStand DataType.
    Thanks,
    Jean

    Hi Goldee,
    You should be able to do that. It's a two step procedure.
    1) Creates in LV a custom datatype that maps 1:1 yours TS datatype.
    2) Go in the TypePalette in the properties of yours TS Datatype and check into LV Cluster Passing Menu'. Here you can Connect a specific Field of the TS datatype to a Specific Label of the corresponding LV datatype. Once you've done it the TS datatype will result modified, I mean "starred" but the change you applied should not impact the datatype structure itself only the way you pass it to LV.
    Have a good day
    FiloP
    It doesn't matter how beautiful your theory is, it doesn't matter how smart you are. If it doesn't agree with experiment, it's wrong.
    Richard P. Feynman

  • How to bring a custom data element into another ods object

    I have an ods object which has a custom data element called customer purchase order number. I have another ods object which needs that custom data element. Both these ods objects are part of a multiprovider. How do I make the customer purchase order number available in the 2nd ods object? We are in SAP BW 3.5
    Thanks
    Ram

    Hi Ramgopal,
    as suggested by experts, create or use the custom infoobject.
    go to change mode of ODS (2nd ODS) add custom infoobject into data or key fields (similar to 1st ODS), then update rules od 2nd ODS will be deactivated. go to change mode of update rules and map with the infoobjects which feeds dat to custom infoobject (similar to 1st ODS)
    if routine is used to populate data copy and paste same routine and check routine and activate.
    Hope this helps.
    Regards,
    Daya Sagar

  • Addional customer data extension in the screen

    As u know there are 10 fields in Customer master (addional customer data-central).
    Need to add some more values to the screen by including customs fields to kna1.
    But how can i make those displayed in the screen?

    Apart from adding the additional customer fields in the Include structure of the KNA1 table, further settings has to be done in SPRO.
    For example, to add a field KNA1-STCD3 (Tax Code 3) to TCODE XD01,XD02.
    SPRO
    financial accounting -> Accounts Receivable and Accounts Payable ->
    Customer Accounts -> Master Data -> Preparations for Creating Customer
    Master Data -> Define Account Groups with Screen Layout (Customers)
    select your account group
    In the Field status screen, double click on General data
    Then double click on Control
    Activate Tax number 3
    select Change customer (Centrally)

  • How can i put customs dates/anniversary dates from my contacts into my iphone calendar?

    I have set up custom dates in my contacts as well as anniversary dates. I'd like to know if there is an app to import these dates into a calendar, it doesn't have to be the iphone standard calendar. I'd just like them to show up as a normal calendar entry, rather than having to add them manually into the calendar. Also, if you have an anniverary date in a contact, and then a relationship as "spouse" to another contact, does this not assume they will have the same anniversary date and therefore update their contact details with this event too ? I don't mind having to buy an app, but most of the ones i have read only add birthdays, and i want to ensure all the custom dates I have set up get imported. These are for friends children's details who don't have their own contact set up in my phone. Thanks, any help appreciated!

    View Purchase History
    http://support.apple.com/kb/HT2727

  • Custom Data Extension and Report execution

    Hello guys,
    I need some help.
    On the reports I'm developing I need to call some complex web services. As such, I developed an data extension in C#, which calls code from a dll. In that dll I'm calling the web services I need, and working on the data in order to get the datatables I need
    (this dll is also coded in C#).
    One requirement I have is for the web services being called only once. This is required as some web services return data for more than one table on the rendered report, and as such, I don't want to get the same data twice.
    In order to do this and to be easier to code, I made the classes that call the web services static. The question is if when two users request different reports, I will have problems with shared variables (which are also static) or if reporting services launch
    various threads which won't share the same static classes.
    Thanks

    Hello,
    Thank you for your question.
    I am trying to involve someone more familiar with this topic for a further look at this issue. Sometime delay might be expected from the job transferring. Your patience is greatly appreciated.
    Thank you for your understanding and support.
    Thanks,
    Alisa Tang
    Alisa Tang
    TechNet Community Support

  • How to upload Bulk Customer Data from Excel or Notepad?

    Hi
    Could any body explain me how can we upload bulk customer master data into SAP system. How the LSMW functionality works for it. what are the prerequisites to upload the data into the system, and Could any body explain me the detailed procedure to upload Customer master data into the system.
    As well I request you to know what are the other functionality we use for uploading. What would be the difference between IDOC and BDC functionalities.
    your suggestions will be highly appreciated?
    Raghu Ram

    hi raghu,
    this is sample code of bdc,
    REPORT zbdc_cus_create_ctm NO STANDARD PAGE HEADING MESSAGE-ID zsmep.
    *& Request ID: ECCK900136
    *& Author : seshu
    *& Date : 20/03/2007
    *& This report Creates customer Master Details through BDC-Call transaction
    *& method and download error files to the presentation server.
    DATA: BEGIN OF t_tab OCCURS 0,
    kunnr TYPE kun16,
    bukrs TYPE bukrs,
    vkorg TYPE vkorg,
    vtweg TYPE vtweg,
    spart TYPE spart,
    ktokd TYPE ktokd,
    name1 TYPE name1_gp,
    sortl TYPE sortl,
    ort01 TYPE ort01_gp,
    land1 TYPE land1_gp,
    spras TYPE spras,
    pstlz TYPE pstlz,
    civve TYPE civve,
    akont TYPE akont,
    awahr TYPE awahr,
    waers TYPE waers_v02d,
    kzazu TYPE kzazu_d,
    antlf TYPE string.
    DATA: END OF t_tab.
    DATA: BEGIN OF t_tab1 OCCURS 0,
    kunnr TYPE kun16,
    bukrs TYPE bukrs,
    vkorg TYPE vkorg,
    vtweg TYPE vtweg,
    spart TYPE spart,
    ktokd TYPE ktokd,
    name1 TYPE name1_gp,
    sortl TYPE sortl,
    ort01 TYPE ort01_gp,
    land1 TYPE land1_gp,
    spras TYPE spras,
    pstlz TYPE pstlz,
    civve TYPE civve,
    akont TYPE akont,
    awahr TYPE awahr,
    waers TYPE waers_v02d,
    kzazu TYPE kzazu_d,
    antlf TYPE string.
    DATA: END OF t_tab1.
    DATA: BEGIN OF g_tab_create OCCURS 0,
    kunnr TYPE kunnr,
    messa TYPE string.
    DATA: END OF g_tab_create.
    DATA: BEGIN OF g_tab_error OCCURS 0,
    kunnr TYPE kunnr,
    messa TYPE string.
    DATA: END OF g_tab_error.
    DATA: g_tab TYPE TABLE OF string,
    g_wa TYPE string.
    *DATA: g_tab TYPE TABLE OF t_tab,
    g_wa LIKE LINE OF g_tab.
    DATA: g_tab1 TYPE TABLE OF string.
    *itab for mapping...
    DATA: BEGIN OF tab_map OCCURS 0.
    INCLUDE STRUCTURE bdcdata.
    DATA: END OF tab_map.
    *itab for error messages...
    DATA: BEGIN OF tab_error OCCURS 0.
    INCLUDE STRUCTURE bdcmsgcoll.
    DATA: END OF tab_error.
    DATA: BEGIN OF l_tab OCCURS 0,
    l_text TYPE string.
    DATA: END OF l_tab.
    *delcarations for blocked alv...
    TYPE-POOLS: slis.
    DATA: l_tab_fieldcatlog TYPE slis_t_fieldcat_alv,
    l_tab_fieldcatlog1 TYPE slis_t_fieldcat_alv,
    l_layout TYPE slis_layout_alv,
    l_events TYPE slis_t_event,
    l_events1 TYPE slis_t_event,
    l_wa_events LIKE LINE OF l_events,
    l_pos TYPE i,
    report TYPE sy-repid,
    path TYPE string,
    path1 TYPE string.
    End generated data section ***
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    PARAMETERS: file TYPE ibipparms-path OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
    PARAMETERS: file1 TYPE ibipparms-path.
    SELECTION-SCREEN END OF BLOCK b2.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR file.
    CALL FUNCTION 'F4_FILENAME'
    IMPORTING
    file_name = file.
    MOVE file TO path.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR file1.
    CALL FUNCTION 'F4_FILENAME'
    IMPORTING
    file_name = file1.
    MOVE file1 TO path1.
    AT SELECTION-SCREEN .
    IF file EQ file1.
    MESSAGE e103(zsmep).
    EXIT.
    ENDIF.
    START-OF-SELECTION.
    *call transaction method...
    PERFORM call_ctm.
    *display the output in blocked alv...
    PERFORM disply_block_alv.
    *& Form call_ctm
    text
    FORM call_ctm.
    CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
    filename = path
    filetype = 'ASC'
    HAS_FIELD_SEPARATOR = ' '
    HEADER_LENGTH = 0
    READ_BY_LINE = 'X'
    DAT_MODE = ' '
    CODEPAGE = ' '
    IGNORE_CERR = ABAP_TRUE
    REPLACEMENT = '#'
    CHECK_BOM = ' '
    VIRUS_SCAN_PROFILE =
    NO_AUTH_CHECK = ' '
    IMPORTING
    FILELENGTH =
    HEADER =
    TABLES
    data_tab = g_tab
    EXCEPTIONS
    file_open_error = 1
    file_read_error = 2
    no_batch = 3
    gui_refuse_filetransfer = 4
    invalid_type = 5
    no_authority = 6
    unknown_error = 7
    bad_data_format = 8
    header_not_allowed = 9
    separator_not_allowed = 10
    header_too_long = 11
    unknown_dp_error = 12
    access_denied = 13
    dp_out_of_memory = 14
    disk_full = 15
    dp_timeout = 16
    OTHERS = 17
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    DATA: text TYPE TABLE OF string.
    LOOP AT g_tab INTO g_wa.
    SPLIT g_wa AT '|' INTO: t_tab-kunnr
    t_tab-bukrs
    t_tab-vkorg
    t_tab-vtweg
    t_tab-spart
    t_tab-ktokd
    t_tab-name1
    t_tab-sortl
    t_tab-ort01
    t_tab-land1
    t_tab-spras
    t_tab-pstlz
    t_tab-civve
    t_tab-akont
    t_tab-awahr
    t_tab-waers
    t_tab-kzazu
    t_tab-antlf,
    TABLE text.
    APPEND t_tab.
    CLEAR g_wa.
    ENDLOOP.
    LOOP AT t_tab.
    REFRESH tab_map.
    PERFORM sub USING 'SAPMF02D' '0100'.
    PERFORM sub1 USING 'BDC_CURSOR'
    'RF02D-KTOKD'.
    PERFORM sub1 USING 'BDC_OKCODE'
    '/00'.
    PERFORM sub1 USING 'RF02D-KUNNR'
    t_tab-kunnr.
    PERFORM sub1 USING 'RF02D-BUKRS'
    t_tab-bukrs.
    PERFORM sub1 USING 'RF02D-VKORG'
    t_tab-vkorg.
    PERFORM sub1 USING 'RF02D-VTWEG'
    t_tab-vtweg.
    PERFORM sub1 USING 'RF02D-SPART'
    t_tab-spart.
    PERFORM sub1 USING 'RF02D-KTOKD'
    t_tab-ktokd.
    PERFORM sub USING 'SAPMF02D' '0110'.
    PERFORM sub1 USING 'BDC_CURSOR'
    'KNA1-SPRAS'.
    PERFORM sub1 USING 'BDC_OKCODE'
    '/00'.
    PERFORM sub1 USING 'KNA1-NAME1'
    t_tab-name1.
    PERFORM sub1 USING 'KNA1-SORTL'
    t_tab-sortl.
    PERFORM sub1 USING 'KNA1-ORT01'
    t_tab-ort01.
    PERFORM sub1 USING 'KNA1-LAND1'
    t_tab-land1.
    PERFORM sub1 USING 'KNA1-SPRAS'
    t_tab-spras.
    PERFORM sub1 USING 'KNA1-PSTLZ'
    t_tab-pstlz.
    PERFORM sub USING 'SAPMF02D' '0120'.
    PERFORM sub1 USING 'BDC_CURSOR'
    'KNA1-LIFNR'.
    PERFORM sub1 USING 'BDC_OKCODE'
    '/00'.
    PERFORM sub USING 'SAPMF02D' '0125'.
    PERFORM sub1 USING 'BDC_CURSOR'
    'KNA1-NIELS'.
    PERFORM sub1 USING 'BDC_OKCODE'
    '/00'.
    PERFORM sub USING 'SAPMF02D' '0130'.
    PERFORM sub1 USING 'BDC_CURSOR'
    'KNBK-BANKS(01)'.
    PERFORM sub1 USING 'BDC_OKCODE'
    '=ENTR'.
    PERFORM sub USING 'SAPMF02D' '0340'.
    PERFORM sub1 USING 'BDC_CURSOR'
    'RF02D-KUNNR'.
    PERFORM sub1 USING 'BDC_OKCODE'
    '=ENTR'.
    PERFORM sub USING 'SAPMF02D' '0370'.
    PERFORM sub1 USING 'BDC_CURSOR'
    'RF02D-KUNNR'.
    PERFORM sub1 USING 'BDC_OKCODE'
    '=ENTR'.
    PERFORM sub1 USING 'KNA1-CIVVE'
    t_tab-civve.
    PERFORM sub USING 'SAPMF02D' '0360'.
    PERFORM sub1 USING 'BDC_CURSOR'
    'KNVK-NAMEV(01)'.
    PERFORM sub1 USING 'BDC_OKCODE'
    '=ENTR'.
    PERFORM sub USING 'SAPMF02D' '0210'.
    PERFORM sub1 USING 'BDC_CURSOR'
    'KNB1-AKONT'.
    PERFORM sub1 USING 'BDC_OKCODE'
    '/00'.
    PERFORM sub1 USING 'KNB1-AKONT'
    t_tab-akont.
    PERFORM sub USING 'SAPMF02D' '0215'.
    PERFORM sub1 USING 'BDC_CURSOR'
    'KNB1-GUZTE'.
    PERFORM sub1 USING 'BDC_OKCODE'
    '/00'.
    PERFORM sub USING 'SAPMF02D' '0220'.
    PERFORM sub1 USING 'BDC_CURSOR'
    'KNB5-KNRMA'.
    PERFORM sub1 USING 'BDC_OKCODE'
    '/00'.
    PERFORM sub USING 'SAPMF02D' '0230'.
    PERFORM sub1 USING 'BDC_CURSOR'
    'KNB1-VRSNR'.
    PERFORM sub1 USING 'BDC_OKCODE'
    '/00'.
    PERFORM sub USING 'SAPMF02D' '0310'.
    PERFORM sub1 USING 'BDC_CURSOR'
    'KNVV-BZIRK'.
    PERFORM sub1 USING 'BDC_OKCODE'
    '/00'.
    PERFORM sub1 USING 'KNVV-AWAHR'
    t_tab-awahr.
    PERFORM sub1 USING 'KNVV-WAERS'
    t_tab-waers.
    PERFORM sub USING 'SAPMF02D' '0315'.
    PERFORM sub1 USING 'BDC_CURSOR'
    'KNVV-LPRIO'.
    PERFORM sub1 USING 'BDC_OKCODE'
    '/00'.
    PERFORM sub1 USING 'KNVV-KZAZU'
    t_tab-kzazu.
    PERFORM sub1 USING 'KNVV-ANTLF'
    t_tab-antlf.
    PERFORM sub USING 'SAPMF02D' '0320'.
    PERFORM sub1 USING 'BDC_CURSOR'
    'KNVV-PERFK'.
    PERFORM sub1 USING 'BDC_OKCODE'
    '/00'.
    PERFORM sub USING 'SAPMF02D' '1350'.
    PERFORM sub1 USING 'BDC_CURSOR'
    'RF02D-KUNNR'.
    PERFORM sub1 USING 'BDC_OKCODE'
    '=ENTR'.
    PERFORM sub USING 'SAPMF02D' '0324'.
    PERFORM sub1 USING 'BDC_CURSOR'
    'KNVP-PARVW(01)'.
    PERFORM sub1 USING 'BDC_OKCODE'
    '=ENTR'.
    CALL TRANSACTION 'XD01' USING tab_map
    MODE 'N'
    UPDATE 'A'
    MESSAGES INTO tab_error.
    LOOP AT tab_error.
    DATA: l_message TYPE string.
    IF tab_error-msgtyp = 'I' OR tab_error-msgtyp = 'S'.
    CALL FUNCTION 'FORMAT_MESSAGE'
    EXPORTING
    id = tab_error-msgid
    lang = 'EN'
    no = tab_error-msgnr
    v1 = tab_error-msgv1
    v2 = tab_error-msgv2
    v3 = tab_error-msgv3
    v4 = tab_error-msgv4
    IMPORTING
    msg = l_message
    EXCEPTIONS
    not_found = 1
    OTHERS = 2.
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    MOVE: t_tab-kunnr TO g_tab_create-kunnr,
    l_message TO g_tab_create-messa.
    APPEND g_tab_create.
    ELSEIF
    tab_error-msgtyp = 'E'.
    MOVE-CORRESPONDING t_tab TO t_tab1.
    APPEND t_tab1.
    DATA: text1 TYPE string.
    CONCATENATE t_tab-kunnr
    t_tab-bukrs
    t_tab-vkorg
    t_tab-vtweg
    t_tab-spart
    t_tab-ktokd
    t_tab-name1
    t_tab-sortl
    t_tab-ort01
    t_tab-land1
    t_tab-spras
    t_tab-pstlz
    t_tab-civve
    t_tab-akont
    t_tab-awahr
    t_tab-waers
    t_tab-kzazu
    t_tab-antlf
    INTO text1 SEPARATED BY '|'.
    l_tab-l_text = text1 .
    APPEND l_tab.
    *error records downlaod to pc...
    PERFORM gui_downlaod.
    CALL FUNCTION 'FORMAT_MESSAGE'
    EXPORTING
    id = tab_error-msgid
    lang = 'EN'
    no = tab_error-msgnr
    v1 = tab_error-msgv1
    v2 = tab_error-msgv2
    v3 = tab_error-msgv3
    v4 = tab_error-msgv4
    IMPORTING
    msg = l_message
    EXCEPTIONS
    not_found = 1
    OTHERS = 2.
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    MOVE: t_tab-kunnr TO g_tab_error-kunnr,
    l_message TO g_tab_error-messa.
    APPEND g_tab_error.
    ENDIF.
    ENDLOOP.
    REFRESH tab_error.
    CLEAR l_message.
    ENDLOOP.
    ENDFORM. "call_ctm
    *& Form sub
    text
    -->A text
    -->B text
    FORM sub USING a b.
    CLEAR tab_map.
    tab_map-program = a.
    tab_map-dynpro = b.
    tab_map-dynbegin = 'X'.
    APPEND tab_map.
    ENDFORM. "FORM
    " sub
    *& Form sub1
    text
    -->P_0579 text
    -->P_0580 text
    FORM sub1 USING c d.
    CLEAR tab_map.
    tab_map-fnam = c.
    tab_map-fval = d.
    APPEND tab_map.
    ENDFORM. " sub1
    *END-OF-SELECTION.
    *& Form disply_block_alv
    text
    --> p1 text
    <-- p2 text
    FORM disply_block_alv .
    PERFORM fill_fieldcatlog.
    PERFORM fill_fieldcatlog1.
    PERFORM call_block_alv.
    ENDFORM. " disply_block_alv
    *& Form fill_fieldcatlog
    text
    --> p1 text
    <-- p2 text
    FORM fill_fieldcatlog .
    PERFORM build_catlog USING l_pos 'G_TAB_CREATE' 'KUNNR' '16' text-004.
    PERFORM build_catlog USING l_pos 'G_TAB_CREATE' 'MESSA' '90' text-005.
    ENDFORM. " fill_fieldcatlog
    *& Form BUILD_CATLOG
    text
    -->P_L_POS text
    -->P_0844 text
    -->P_0845 text
    -->P_0846 text
    -->P_TEXT_004 text
    FORM build_catlog USING u_pos TYPE any
    value(u_0844) TYPE any
    value(u_0845) TYPE any
    value(u_0846) TYPE any
    u_text TYPE any.
    DATA: l_wa_fieldcatlog TYPE slis_fieldcat_alv.
    ADD 1 TO u_pos.
    l_wa_fieldcatlog-col_pos = u_pos.
    l_wa_fieldcatlog-tabname = u_0844.
    l_wa_fieldcatlog-fieldname = u_0845.
    l_wa_fieldcatlog-outputlen = u_0846.
    l_wa_fieldcatlog-reptext_ddic = u_text.
    APPEND l_wa_fieldcatlog TO l_tab_fieldcatlog.
    ENDFORM. " BUILD_CATLOG
    *& Form fill_fieldcatlog1
    text
    --> p1 text
    <-- p2 text
    FORM fill_fieldcatlog1 .
    PERFORM build_catlog1 USING l_pos 'G_TAB_ERROR' 'KUNNR' '16' text-004.
    PERFORM build_catlog1 USING l_pos 'G_TAB_ERROR' 'MESSA' '90' text-005.
    ENDFORM. " fill_fieldcatlog1
    *& Form build_catlog1
    text
    -->P_L_POS text
    -->P_0913 text
    -->P_0914 text
    -->P_0915 text
    -->P_TEXT_004 text
    FORM build_catlog1 USING u_pos TYPE any
    value(u_0913) TYPE any
    value(u_0914) TYPE any
    value(u_0915) TYPE any
    u_text TYPE any.
    DATA: l_wa_fieldcatlog1 TYPE slis_fieldcat_alv.
    ADD 1 TO u_pos.
    l_wa_fieldcatlog1-col_pos = u_pos.
    l_wa_fieldcatlog1-tabname = u_0913.
    l_wa_fieldcatlog1-fieldname = u_0914.
    l_wa_fieldcatlog1-outputlen = u_0915.
    l_wa_fieldcatlog1-reptext_ddic = u_text.
    APPEND l_wa_fieldcatlog1 TO l_tab_fieldcatlog1.
    ENDFORM. " build_catlog1
    *& Form CALL_BLOCK_ALV
    text
    --> p1 text
    <-- p2 text
    FORM call_block_alv .
    report = sy-repid.
    CLEAR l_events.
    l_wa_events-name = slis_ev_top_of_page.
    l_wa_events-form = 'TOP_OF_PAGE'.
    APPEND l_wa_events TO l_events.
    CLEAR l_wa_events.
    l_wa_events-name = slis_ev_top_of_page.
    l_wa_events-form = 'ETOP_OF_PAGE'.
    APPEND l_wa_events TO l_events1.
    CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
    EXPORTING
    i_callback_program = report
    I_CALLBACK_PF_STATUS_SET = ' '
    I_CALLBACK_USER_COMMAND = ' '
    IT_EXCLUDING =
    IF g_tab_create[] IS INITIAL.
    MESSAGE s101(zsmep).
    EXIT.
    ELSE.
    CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
    EXPORTING
    is_layout = l_layout
    it_fieldcat = l_tab_fieldcatlog
    i_tabname = 'G_TAB_CREATE'
    it_events = l_events
    IT_SORT =
    I_TEXT = ' '
    TABLES
    t_outtab = g_tab_create
    EXCEPTIONS
    PROGRAM_ERROR = 1
    MAXIMUM_OF_APPENDS_REACHED = 2
    OTHERS = 3
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    ENDIF.
    IF g_tab_error[] IS INITIAL.
    MESSAGE s102(zsmep).
    ELSE.
    CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
    EXPORTING
    is_layout = l_layout
    it_fieldcat = l_tab_fieldcatlog1
    i_tabname = 'G_TAB_ERROR'
    it_events = l_events1
    IT_SORT =
    I_TEXT = ' '
    TABLES
    t_outtab = g_tab_error
    EXCEPTIONS
    PROGRAM_ERROR = 1
    MAXIMUM_OF_APPENDS_REACHED = 2
    OTHERS = 3
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    ENDIF.
    CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
    EXPORTING
    I_INTERFACE_CHECK = ' '
    IS_PRINT =
    I_SCREEN_START_COLUMN = 0
    I_SCREEN_START_LINE = 0
    I_SCREEN_END_COLUMN = 0
    I_SCREEN_END_LINE = 0
    IMPORTING
    E_EXIT_CAUSED_BY_CALLER =
    ES_EXIT_CAUSED_BY_USER =
    EXCEPTIONS
    PROGRAM_ERROR = 1
    OTHERS = 2
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    ENDFORM. " CALL_BLOCK_ALV
    *& Form top_of_page
    text
    --> p1 text
    <-- p2 text
    FORM top_of_page .
    WRITE: 'Created Records'.
    ENDFORM. " top_of_page
    *& Form ETOP_OF_PAGE
    text
    --> p1 text
    <-- p2 text
    FORM etop_of_page .
    WRITE: 'Error Records'.
    ENDFORM. " ETOP_OF_PAGE
    *& Form gui_downlaod
    text
    --> p1 text
    <-- p2 text
    FORM gui_downlaod .
    MOVE file1 TO path1.
    CALL FUNCTION 'GUI_DOWNLOAD'
    EXPORTING
    BIN_FILESIZE =
    filename = path1
    filetype = 'ASC'
    APPEND = ' '
    write_field_separator = '|'
    HEADER = '00'
    TRUNC_TRAILING_BLANKS = ' '
    WRITE_LF = 'X'
    COL_SELECT = ' '
    COL_SELECT_MASK = ' '
    DAT_MODE = ' '
    CONFIRM_OVERWRITE = ' '
    NO_AUTH_CHECK = ' '
    CODEPAGE = ' '
    IGNORE_CERR = ABAP_TRUE
    REPLACEMENT = '#'
    WRITE_BOM = ' '
    TRUNC_TRAILING_BLANKS_EOL = 'X'
    WK1_N_FORMAT = ' '
    WK1_N_SIZE = ' '
    WK1_T_FORMAT = ' '
    WK1_T_SIZE = ' '
    WRITE_LF_AFTER_LAST_LINE = ABAP_TRUE
    IMPORTING
    FILELENGTH =
    TABLES
    data_tab = l_tab
    FIELDNAMES =
    EXCEPTIONS
    FILE_WRITE_ERROR = 1
    NO_BATCH = 2
    GUI_REFUSE_FILETRANSFER = 3
    INVALID_TYPE = 4
    NO_AUTHORITY = 5
    UNKNOWN_ERROR = 6
    HEADER_NOT_ALLOWED = 7
    SEPARATOR_NOT_ALLOWED = 8
    FILESIZE_NOT_ALLOWED = 9
    HEADER_TOO_LONG = 10
    DP_ERROR_CREATE = 11
    DP_ERROR_SEND = 12
    DP_ERROR_WRITE = 13
    UNKNOWN_DP_ERROR = 14
    ACCESS_DENIED = 15
    DP_OUT_OF_MEMORY = 16
    DISK_FULL = 17
    DP_TIMEOUT = 18
    FILE_NOT_FOUND = 19
    DATAPROVIDER_EXCEPTION = 20
    CONTROL_FLUSH_ERROR = 21
    OTHERS = 22
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    ENDFORM. " gui_downlaod 
    this is one of the bdc method to upload data from notepad to sap.
    regards,
    seshu.

  • Workflow Approval Process: 1)How to insert Custom Data into Windows Workflow database? 2)In workflow Approval Process while creating new request ,how to insert our custom data like approvers ,requester,object info into WF DB?

    hi ,
    here the description about my question.
    1)i am working on windows workflow,we need to implement approval process for my project.
    2)we have multiple approvers for one request,requester,created object information.
    3)now i want to insert and retrieve, created instance information from windows workflow
    database.with all following details 
    i)Workflow instaceId,
    ii)current state of work flow(idle,complete,pending)
    iii)approvers information.
    iv)requester information.
    v)created object information.
    here some of the links, which i am trying for solution:
    https://wf.codeplex.com/wikipage?title=Tracking%20states%20with%20WorkflowApplication[^]
    https://msdn.microsoft.com/en-us/library/ee622977(v=vs.110).aspx[^]
    please answer to my question. if you want to send any examples send me to my email address.
    [email protected]

    Hi,
    According to your description, it seems that your main issue is about customID paramerter in workflow approval prcess.
    About this, please refer to the two samples:
    http://blog.petegoo.com/2010/08/22/workflow-4-email-approval-sample/
    http://cgeers.com/2010/04/10/windows-workflow-in-asp-net/
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • How to test and configure custom extensions in Flash Pro CC?

    Hi,
    How do you install custom CS extensions in Flash Pro CC for testing and debugging before they have been signed and packaged?
    We have a custom extension for Flash Pro developed in-house using the CS SDK that we've been using with flash pro CS5 and CS6 but we're having trouble getting it to work in CC and I'd like to run it locally in test/debug mode.
    With flash pro CS6 and CS5 it was possible to test extensions by copying the output folder from flash builder into the CS Service Manager root folder (e.g. /Users/<username>/Library/Application Support/Adobe/CS6ServiceManager) and setting PlayerDebugMode to 1 in the CSXS preferences.
    I've added the PlayerDebugMode=1 flag to com.adobe.CSXS.4.plist however, I can't find the equivalent service manager folder for Flash Pro CC to copy the extension into.
    Is there a different folder to use for CC or is the process for testing extensions completely different? (are extensions written in the CS SDK even compatible with CC?)
    I'm running Mac OS Lion.
    Thanks,
    Stephen

    Thanks, that explains a lot.
    I'm afraid I'm a bit confused about what the preferred way of developing extensions is going ahead. There seems to be a lot of conflicting documentation on the adobe site, e.g. http://www.adobe.com/devnet/creativesuite.html  seems like the top page for extension documentation but it only talks about CS SDK 2.0 which uses CSXS and doesn't seem to be compatible with creative cloud apps.
    Then there's CS Extension Builder 2.1 which looks like it supports Flash Pro CC but isn't mentioned in the pages you linked too and it doesn't mention JSFL, but talks about the CSAW library.
    Do you know if:
    * The CS SDK has been dropped completely? 
    * CS Extenstion Builder is deprecated? (I can't see it as an option in the list of Creative Cloud apps)
    * Is then any documentation/utilities to help migrate existing CSXS extensions to work with creative cloud apps?
    Thanks,
    Stephen

Maybe you are looking for

  • Best practice for encrypting connectionString

    Hi,     Was using connectionString for database connections and was happy with it and it was doing what it supposed to.  If someone changed the database credentials we didn't have to recompile the program to make the change.   Then our organization h

  • BB Link Problem

    I have been happily linking Contacts and Calendar every day for the last two or three months, but it has suddenly stopped working. I now get a message saying 'Sync Unsuccessful' and the under Show Recent Activity it says 'Unable to Process Organiser

  • Oracle 8 tns-listener security

    Hi list, premise that an upgrade to a newer Oracle version is recommended... I noticed setting a tns-listener password in Oracle 8.1.7* ("SECURITY=ON"), the SIDs are anyway enumerable (via "Command=status"). According to you, is firewall filtering th

  • Oci libraries in 11gR2 linux

    Hello, I have an application which needs the oci interface. I need to run it on 11gR2 (linux x86) OCI Used to be in rdbms/lib/getopt.o getopt.o is no longer in 11gR2 (linux 32). The application fails to compile since the OCI definitions are missing.

  • EBCDIC files in BODS

    Hi Experts, Need help. A quick question, is it possible to use EBCDIC files as target in a BODS Data flow? The scenario, here, is I have a EBCDIC file which I am using as a source (through COBOL Copybook format option) in a BODS job. Now I need to en