Create a BSP  based on R/3 program

Hi all,
My question is if it is possible to transform an already existing R/3 program to a BSP, without the need to re-write the program.
I, for example, would like to transform the standard program SAPLRHP6 to a BSP. Sorry if this question is stupid, I have no previous BSP experience.

No, it is not possible...if you want to convert a sap transaction you need to write it as per model in BSP...
But if you want to incorporate R/3 transaction in portal, that is possible...please contact EP consulatnt
Thanks.

Similar Messages

  • How to create dynamic context based on a structure defined in the program?

    Hi Experts,
             I need to create a dynamic context based on a structure wa_struc which i have define programatically.
    When I pass wa_struc to structure_name parameter of create_nodeinfo_from_struc, i get a runtime error:
    "Parameter STRUCTURE_NAME contains an invalid value wa_struc."
    How to create dynamic context based on a structure defined in the program?
    I have written the code like this:
    TYPES: BEGIN OF t_type,
                v_carrid TYPE sflight-carrid,
                v_connid TYPE sflight-connid,
             END OF t_type.
      Data:  i_struc type table of t_type,
             wa_struc type t_type.
      data: dyn_node   type ref to if_wd_context_node.
      data: rootnode_info   type ref to if_wd_context_node_info.
      rootnode_info = wd_context->get_node_info( ).
      clear i_struc. refresh i_struc.
      select carrid connid into corresponding fields of table i_struc from sflight where carrid = 'AA'.
    cl_wd_dynamic_tool=>create_nodeinfo_from_struct(
      parent_info = rootnode_info
      node_name = 'dynflight'
      structure_name = 'wa_struc'
      is_multiple = abap_true ).
    dyn_node = wd_context->get_child_node( name = 'dynflight' ).
    dyn_node->bind_table( i_struc ).
    Thanks
    Gopal
    Message was edited by: gopalkrishna baliga

    Hi Michelle,
              First of all Special thanks for your informative answers to my other forum questions. I really appreciate your help.
    Coming back to this question I am still waiting for an answer. Please help. Note that my structure is not in a dictionary.
    I am trying to create a new node. That is
    CONTEXT
    - DYNFLIGHT
    CARRID
    CONNID
    As you see above I am trying to create 'DYNFLIGHT' along with the 2 attributes which are inside this node. The structure of the node that is, no.of attributes may vary based on some condition. Thats why I am trying to create a node dynamically.
    Also I cannot define the structure in the ABAP dictionary because it changes based on condition
    I have updated my code like the following and I am getting error:
    TYPES: BEGIN OF t_type,
    CARRID TYPE sflight-carrid,
    CONNID TYPE sflight-connid,
    END OF t_type.
    Data: i_struc type table of t_type,
    dyn_node type ref to if_wd_context_node,
    rootnode_info type ref to if_wd_context_node_info,
    i_node_att type wdr_context_attr_info_map,
    wa_node_att type line of wdr_context_attr_info_map.
    wa_node_att-name = 'CARRID'.
    wa_node_att-TYPE_NAME = 'SFLIGHT-CARRID'.
    insert wa_node_att into table i_node_att.
    wa_node_att-name = 'CONNID'.
    wa_node_att-TYPE_NAME = 'SFLIGHT-CONNID'.
    insert wa_node_att into table i_node_att.
    clear i_struc. refresh i_struc.
    select carrid connid into corresponding fields of table i_struc from sflight where carrid = 'AA'.
    rootnode_info = wd_context->get_node_info( ).
    rootnode_info->add_new_child_node( name = 'DYNFLIGHT'
    attributes = i_node_att
    is_multiple = abap_true ).
    dyn_node = wd_context->get_child_node( 'DYNFLIGHT' ).
    dyn_node->bind_table( i_struc ).
    l_ref_interfacecontroller->set_data( dyn_node ).
    But now I am getting the following error :
    The following error text was processed in the system PET : Line types of an internal table and a work area not compatible.
    The error occurred on the application server FMSAP995_PET_02 and in the work process 0 .
    The termination type was: RABAX_STATE
    The ABAP call stack was:
    Method: IF_WD_CONTEXT_NODE~GET_STATIC_ATTRIBUTES_TABLE of program CL_WDR_CONTEXT_NODE_VAL=======CP
    Method: GET_REF_TO_TABLE of program CL_SALV_WD_DATA_TABLE=========CP
    Method: EXECUTE of program CL_SALV_WD_SERVICE_MANAGER====CP
    Method: APPLY_SERVICES of program CL_SALV_BS_RESULT_DATA_TABLE==CP
    Method: REFRESH of program CL_SALV_BS_RESULT_DATA_TABLE==CP
    Method: IF_SALV_WD_COMP_TABLE_DATA~MAP_FROM_SOURCE_DATA of program CL_SALV_WD_C_TABLE_V_TABLE====CP
    Method: IF_SALV_WD_COMP_TABLE_DATA~MAP_FROM_SOURCE of program CL_SALV_WD_C_TABLE_V_TABLE====CP
    Method: IF_SALV_WD_COMP_TABLE_DATA~UPDATE of program CL_SALV_WD_C_TABLE_V_TABLE====CP
    Method: IF_SALV_WD_VIEW~MODIFY of program CL_SALV_WD_C_TABLE_V_TABLE====CP
    Method: IF_SALV_WD_COMPONENT~VIEW_MODIFY of program CL_SALV_WD_A_COMPONENT========CP
    -Gopal
    Message was edited by: gopalkrishna baliga

  • Creating Infoset query based on ABAP program

    Hello
    I have 3 tables FEBEP, BKPF and BSEG and I need to join the 3 tables based on:
    FEBEP-MANDT = BKPF-MANDT = BSEG-MANDT
    FEBEP-NBBLN = BKPF-BELNR = BSEG-AUGBL
    FEBEP-GJAHR = BKPF-GJAHR = BSEG-GJAHR
    Then I have a few view fields from all the 3 tables. After this I can build an infoset query based on structure + ABAP program, and a generic datasource on top of it.
    Can someone give me the ABAP code to be written SE38? Also should I select integrated program/external program in the infoset query?
    Thanks,
    Srini.

    Hi,
    Even if you create an ABAP program for infoset, you will writing a SELECT statement from BSEG table which is quite huge.
    And you will putting JOIN with other tables.
    Performance wise this is not advisble.
    Why do not try the following other tables and check if the fields you need are available?
    You can't join BSEG as it is a Cluster Table.In the place of BSEG you can use:
    Account Recivables data use BSID and BSAD tables
    GL Account Related data use BSIS and BSAS tables
    Account payables data use BSIK and BSAK tables
    Thanks.

  • How to create a report based on a DataSet programatically

    I'm working on a CR 2008 Add-in.
    Usage of this add-in is: Let the user choose from a list of predefined datasets, and create a totally empty report with this dataset attached to is. So the user can create a report based on this dataset.
    I have a dataset in memory, and want to create a new report in cr2008.
    The new report is a blank report (with no connection information).
    If I set the ReportDocument.SetDataSource(Dataset dataSet) property, I get the error:
    The report has no tables.
    So I must programmatically define the table definition in my blank report.
    I found the following article: https://boc.sdn.sap.com/node/869, and came up with something like this:
    internal class NewReportWorker : Worker
          public NewReportWorker(string reportFileName)
             : base(reportFileName)
    public override void Process()
             DatabaseController databaseController = ClientDoc.DatabaseController;
             Table table = new Table();
             string tabelName = "Table140";
             table.Name = tabelName;
             table.Alias = tabelName;
             table.QualifiedName = tabelName;
             table.Description = tabelName;
             var fields = new Fields();
             var dbField = new DBField();
             var fieldName = "ID";
             dbField.Description = fieldName;
             dbField.HeadingText = fieldName;
             dbField.Name = fieldName;
             dbField.Type = CrFieldValueTypeEnum.crFieldValueTypeInt64sField;
             fields.Add(dbField);
             dbField = new DBField();
             fieldName = "IDLEGITIMATIEBEWIJS";
             dbField.Description = fieldName;
             dbField.HeadingText = fieldName;
             dbField.Name = fieldName;
             dbField.Type = CrFieldValueTypeEnum.crFieldValueTypeInt64sField;
             fields.Add(dbField);
             // More code for more tables to add.
             table.DataFields = fields;
             //CrystalDecisions.ReportAppServer.DataDefModel.ConnectionInfo info =
             //   new CrystalDecisions.ReportAppServer.DataDefModel.ConnectionInfo();
             //info.Attributes.Add("Databse DLL", "xxx.dll");
             //table.ConnectionInfo = info;
             // Here an error occurs.
             databaseController.AddTable(table, null);
             ReportDoc.SetDataSource( [MyFilledDataSet] );
             //object path = @"d:\logfiles\";
             //ClientDoc.SaveAs("test.rpt", ref path, 0);
    The object ClientDoc referes to a ISCDReportClientDocument in a base class:
       internal abstract class Worker
          private ReportDocument _ReportDoc;
          private ISCDReportClientDocument _ClientDoc;
          private string _ReportFileName;
          public Worker(string reportFileName)
             _ReportFileName = reportFileName;
             _ReportDoc = new ReportDocument();
             // Load the report from file path passed by the designer.
             _ReportDoc.Load(reportFileName);
             // Create a RAS Document through In-Proc RAS through the RPTDoc.
             _ClientDoc = _ReportDoc.ReportClientDocument;
          public string ReportFileName
             get
                return _ReportFileName;
          public ReportDocument ReportDoc
             get
                return _ReportDoc;
          public ISCDReportClientDocument ClientDoc
             get
                return _ClientDoc;
    But I get an "Unspecified error" on the line databaseController.AddTable(table, null);
    What am i doing wrong? Or is there another way to create a new report based on a DataSet in C# code?

    Hi,
    Have a look at the snippet code below written for version 9 that you might accommodate to CR 2008, it demonstrates how to create a report based on a DataSet programmatically.
    //=========================================================================
    +           * the following two string values can be modified to reflect your system+
    +          ************************************************************************************************/+
    +          string mdb_path = "C:
    program files
    crystal decisions
    crystal reports 9
    samples
    en
    databases
    xtreme.mdb";    // path to xtreme.mdb file+
    +          string xsd_path = "C:
    Crystal
    rasnet
    ras9_csharp_win_datasetreport
    customer.xsd";  // path to customer schema file+
    +          // Dataset+
    +          OleDbConnection m_connection;                         // ado.net connection+
    +          OleDbDataAdapter m_adapter;                              // ado.net adapter+
    +          System.Data.DataSet m_dataset;                         // ado.net dataset+
    +          // CR variables+
    +          ReportClientDocument m_crReportDocument;          // report client document+
    +          Field m_crFieldCustomer;+
    +          Field m_crFieldCountry;+
    +          void CreateData()+
    +          {+
    +               // Create OLEDB connection+
    +               m_connection = new OleDbConnection();+
    +               m_connection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mdb_path;+
    +               // Create Data Adapter+
    +               m_adapter = new OleDbDataAdapter("select * from Customer where Country='Canada'", m_connection);+
    +               // create dataset and fill+
    +               m_dataset = new System.Data.DataSet();+
    +               m_adapter.Fill(m_dataset, "Customer");+
    +               // create a schema file+
    +               m_dataset.WriteXmlSchema(xsd_path);+
    +          }+
    +          // Adds a DataSource using dataset. Since this does not require intermediate schema file, this method+
    +          // will work in a distributed environment where you have IIS box on server A and RAS Server on server B.+
    +          void AddDataSourceUsingDataSet(+
    +               ReportClientDocument rcDoc,          // report client document+
    +               System.Data.DataSet data)          // dataset+
    +          {+
    +               // add a datasource+
    +               DataSetConverter.AddDataSource(rcDoc, data);+
    +          }+
    +          // Adds a DataSource using a physical schema file. This method require you to have schema file in RAS Server+
    +          // box (NOT ON SDK BOX). In distributed environment where you have IIS on server A and RAS on server B,+
    +          // and you execute CreateData above, schema file is created in IIS box, and this method will fail, because+
    +          // RAS server cannot see that schema file on its local machine. In such environment, you must use method+
    +          // above.+
    +          void AddDataSourceUsingSchemaFile(+
    +               ReportClientDocument rcDoc,          // report client document+
    +               string schema_file_name,          // xml schema file location+
    +               string table_name,                    // table to be added+
    +               System.Data.DataSet data)          // dataset+
    +          {+
    +               PropertyBag crLogonInfo;               // logon info+
    +               PropertyBag crAttributes;               // logon attributes+
    +               ConnectionInfo crConnectionInfo;     // connection info+
    +               CrystalDecisions.ReportAppServer.DataDefModel.Table crTable;+
    +               // database table+
    +               // create logon property+
    +               crLogonInfo = new PropertyBag();+
    +               crLogonInfo["XML File Path"] = schema_file_name;+
    +               // create logon attributes+
    +               crAttributes = new PropertyBag();+
    +               crAttributes["Database DLL"] = "crdb_adoplus.dll";+
    +               crAttributes["QE_DatabaseType"] = "ADO.NET (XML)";+
    +               crAttributes["QE_ServerDescription"] = "NewDataSet";+
    +               crAttributes["QE_SQLDB"] = true;+
    +               crAttributes["QE_LogonProperties"] = crLogonInfo;+
    +               // create connection info+
    +               crConnectionInfo = new ConnectionInfo();+
    +               crConnectionInfo.Kind = CrConnectionInfoKindEnum.crConnectionInfoKindCRQE;+
    +               crConnectionInfo.Attributes = crAttributes;+
    +               // create a table+
    +               crTable = new CrystalDecisions.ReportAppServer.DataDefModel.Table();+
    +               crTable.ConnectionInfo = crConnectionInfo;+
    +               crTable.Name = table_name;+
    +               crTable.Alias = table_name;+
    +               // add a table+
    +               rcDoc.DatabaseController.AddTable(crTable, null);+
    +               // pass dataset+
    +               rcDoc.DatabaseController.SetDataSource(DataSetConverter.Convert(data), table_name, table_name);+
    +          }+
    +          void CreateReport()+
    +          {+
    +               int iField;+
    +               // create ado.net dataset+
    +               CreateData();+
    +               // create report client document+
    +               m_crReportDocument = new ReportClientDocument();+
    +               m_crReportDocument.ReportAppServer = "127.0.0.1";+
    +               // new report document+
    +               m_crReportDocument.New();+
    +               // add a datasource using a schema file+
    +               // note that if you have distributed environment, you should use AddDataSourceUsingDataSet method instead.+
    +               // for more information, refer to comments on these methods.+
    +               AddDataSourceUsingSchemaFile(m_crReportDocument, xsd_path, "Customer", m_dataset);+
    +                              +
    +               // get Customer Name and Country fields+
    +               iField = m_crReportDocument.Database.Tables[0].DataFields.Find("Customer Name", CrFieldDisplayNameTypeEnum.crFieldDisplayNameName, CeLocale.ceLocaleUserDefault);+
    +               m_crFieldCustomer = (Field)m_crReportDocument.Database.Tables[0].DataFields[iField];+
    +               iField = m_crReportDocument.Database.Tables[0].DataFields.Find("Country", CrFieldDisplayNameTypeEnum.crFieldDisplayNameName, CeLocale.ceLocaleUserDefault);+
    +               m_crFieldCountry = (Field)m_crReportDocument.Database.Tables[0].DataFields[iField];+
    +               // add Customer Name and Country fields+
    +               m_crReportDocument.DataDefController.ResultFieldController.Add(-1, m_crFieldCustomer);+
    +               m_crReportDocument.DataDefController.ResultFieldController.Add(-1, m_crFieldCountry);+
    +               // view report+
    +               crystalReportViewer1.ReportSource = m_crReportDocument;+
    +          }+
    +          public Form1()+
    +          {+
    +               //+
    +               // Required for Windows Form Designer support+
    +               //+
    +               InitializeComponent();+
    +               // Create Report+
    +               CreateReport();+
    +               //+
    +               // TODO: Add any constructor code after InitializeComponent call+
    +               //+
    +          }+//=========================================================================

  • Create a JTable based on an ArrayList containing instances of a class.

    I have a class, IncomeBudgetItem, instances of which are contained in an ArrayList. I would like to create a JTable, based on this ArrayList. One variable is a string, while others are type double. Not all variables are to appear in the JTable.
    The internal logic of my program is already working. And my GUI is largely constructed. I'm just not sure how to make them talk to each other. The actually creation of the JTable is my biggest problem right now.

    import java.awt.Dimension;
    import java.awt.GridLayout;
    import java.util.ArrayList;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.table.AbstractTableModel;
    public class TableDemo extends JPanel {
         private boolean DEBUG = false;
         public TableDemo() {
              super(new GridLayout(1, 0));
              ArrayList<MyObject> list = new ArrayList<MyObject>();
              list.add(new MyObject("Kathy", "Smith", "Snowboarding", new Integer(5),
                        new Boolean(false)));
              list.add(new MyObject("John", "Doe", "Rowing", new Integer(3),
                        new Boolean(true)));
              list.add(new MyObject("Sue", "Black", "Knitting", new Integer(2),
                        new Boolean(false)));
              list.add(new MyObject("Jane", "White", "Speed reading",
                        new Integer(20), new Boolean(true)));
              JTable table = new JTable(new MyTableModel(list));
              table.setPreferredScrollableViewportSize(new Dimension(500, 70));
              table.setFillsViewportHeight(true);
              // Create the scroll pane and add the table to it.
              JScrollPane scrollPane = new JScrollPane(table);
              // Add the scroll pane to this panel.
              add(scrollPane);
         class MyObject {
              String firstName;
              String lastName;
              String sport;
              int years;
              boolean isVeg;
              MyObject(String firstName, String lastName, String sport, int years,
                        boolean isVeg) {
                   this.firstName = firstName;
                   this.lastName = lastName;
                   this.sport = sport;
                   this.years = years;
                   this.isVeg = isVeg;
         class MyTableModel extends AbstractTableModel {
              private String[] columnNames = { "First Name", "Last Name", "Sport",
                        "# of Years", "Vegetarian" };
              ArrayList<MyObject> list = null;
              MyTableModel(ArrayList<MyObject> list) {
                   this.list = list;
              public int getColumnCount() {
                   return columnNames.length;
              public int getRowCount() {
                   return list.size();
              public String getColumnName(int col) {
                   return columnNames[col];
              public Object getValueAt(int row, int col) {
                   MyObject object = list.get(row);
                   switch (col) {
                   case 0:
                        return object.firstName;
                   case 1:
                        return object.lastName;
                   case 2:
                        return object.sport;
                   case 3:
                        return object.years;
                   case 4:
                        return object.isVeg;
                   default:
                        return "unknown";
              public Class getColumnClass(int c) {
                   return getValueAt(0, c).getClass();
          * Create the GUI and show it. For thread safety, this method should be
          * invoked from the event-dispatching thread.
         private static void createAndShowGUI() {
              // Create and set up the window.
              JFrame frame = new JFrame("TableDemo");
              frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              // Create and set up the content pane.
              TableDemo newContentPane = new TableDemo();
              newContentPane.setOpaque(true); // content panes must be opaque
              frame.setContentPane(newContentPane);
              // Display the window.
              frame.pack();
              frame.setVisible(true);
         public static void main(String[] args) {
              // Schedule a job for the event-dispatching thread:
              // creating and showing this application's GUI.
              javax.swing.SwingUtilities.invokeLater(new Runnable() {
                   public void run() {
                        createAndShowGUI();
    }

  • How to create custom BSP application in SAP CRM?

    Hi Experts,
    I would like to seek help from you. I am new in developing CRM objects. My first requirement is to create a custom program that will generate a PDF report.
    First thing I would like to know is the transaction code where I need to create a BSP application that will be able to run in crm webclient. Please clarify if it is in BSP_WD_CMPWB or in SE80 because it is said that I should create BSP application using MVC.
    Second thing is how will I be able to call a smartforms in a BSP application. The scenario for my custom program would be, I should have a two input fields in the selection-screen which are Business Partner ID and Product Lines. together with a button that will trigger the form when ticked.
    Hope to hear from all of you. Your help will be very much appreciated.
    Thanks and Regards,
    Monica

    Hello MonicAnna,
    You can find some information on this page.
    (http://help.sap.com/saphelp_nw70/helpdata/en/59/cd7daa07d711d5b66f006094192fe3/content.htm)
    And also you dont have to use se80 to create new Bsp appliaction. You can create new application by this transaction BSP_WD_CMPWB.
    Zafer,
    Edited by: Zafer Kuru on Dec 5, 2011 10:12 AM

  • Create RSA keys based on p and q

    Is there a way to create a KeyPair based on p and q (BigIntegers or byte[])
    The reason i need this is because i need to encrypt files that need to be decrypted in a c# program (and vice versa). The encryption needs to be RSA (so no DES or....) although i know that there is not really a need for asymetric encryption.
    The problem is I can generate a keypair in Java but then i cannot get the data for that keypair in c# (and vice versa).
    In c# i can create an equivalent of a keyPair based on p and q or on so if there would be a way to get the p and the q of a generated keypair that would also help (or all the other paramets, d, n, e, phi,....).
    Thanks

    You can generate a PKCS8 private key bytes and X509 public key byte using something like
                final KeyPairGenerator rsaKeyPairGenerator = KeyPairGenerator.getInstance("RSA");
                rsaKeyPairGenerator.initialize(2048); // or whatever size you want
                final KeyPair rseKeyPair = rsaKeyPairGenerator.generateKeyPair();
                // The private key as PKCS8 bytes
                final byte[] privateKeyAsBytes = rseKeyPair.getPrivate().getEncoded();
                // The public key as X509 bytes
                final byte[] publicKeyAsBytes = rseKeyPair.getPublic().getEncoded();then you can import the X509 into C# (C# must have a way of importing an X509).
    OR
    do a similar thing in C# and export the X509 public key and import it into Java.
    The private key should only be used by either the C# or Java application (not both) and I would expect whichever needs the private key should generate the key pair.

  • Create another BP based on an existing BP

    Hi Gurus
    For CRM 2007 I want to create a BP based on a the details of a BP selected by a user.
    How would this be done? I haven't found any useful threads on this subject.
    Thanks
    Panduranga

    Hi Panduranga,
    Stephen is very right about this - there is no way to copy a business partner.
    However, we have tried in the past to develop this functionality - and also the functionality to change the category after copying.This is some info that will help you while creating a copy program -
    1. The easiest way is to use APIs. Start by calling BUPA_CENTRAL_GET_DETAIL usign the BP number. THis will give you all the central data for the BP - e.g. name, etc. Now, merely feed the output of this module into the module BUPA_CREATE_FROM_DATA. This will create a new BP with the same data of the old BP.
    2. Now that the main BP is ready, you need to start copying the individual datasets - addresses, bank details, roles, Id, industry,etc. This is tricky - the ADD apis - BUPA_ADDRESS_ADD, BUPA_ROLE_ADD, etc can only create one record in a call. So, you need to first get the data of the reference BP using the GET_DETAIL api e.g. : BUPA_ADDRESS_GET_DETAIL, then loop at each returned record, and pass that into the correspinding ADD BAPI.
    3. Be sure to call BAPI_TRANSACTION_COMMIT at the end to commit the data to the DB.
    I hope this helps you.
    Cheers,
    Rishu.

  • How to call BSP based iview using Parameters

    Hi,
       i developed one BSP application which takes 2 input parameters 1. Document No 2. Item No.
       I created a iView based on this BSP Application. I would like to call this iView by hardcoding input parameters.
       Input: Document No, Item and Submit button. output displays some text based on input. which is working fine, No issues.
    Now, i developed a iViews using these BSP application. If i call iViews, again no Issues. Which works great, we need to enter input manally.
    I would like to call my iViews with document no = '0004000000' , Item No = '000001' and Submit = 'SET'.  Which directly should display the data for above document item.
    that means iView URL + Document = '0000400000' & Item = '000001' & submit = 'SET'.
    how to call Parametrized iViews???
    I'm talking about Application Parameters in documentation (http://help.sap.com/saphelp_nw04/Helpdata/EN/88/266a3e54a2e946e10000000a114084/content.htm).
    ApplicationParameter
    You can enter parameter values for certain screen fields for displaying a SAP transaction here.
    This field is optional.
    The parameter values are specified with the following syntax:
    <Screen_field1>=<Parameter1>
    &<Screen_field2>=<Parameter2>
    &<...>=<...>,...
    Thanks,
    Ben.
    Edited by: Nagesh Ganisetti on Jan 29, 2009 9:18 AM

    I want to pass values dynamically? How to pass values dynamically using URL???
    assume my BSP URL wiht parameters:
    http://nwd2bw1.corp.analog.com:8001/sap(bD1lbiZjPTAwMQ==)/bc/bsp/sap/zzsdpra123/start.htm?gv_doc=0040013811&gv_item=000001  WORKING GREAT!!!
    Developed an iView using ZZPRA123 BSP application in portal without APPLICATION PARAMETERS.
    http://nwd2bw1.corp.analog.com:50100/irj/servlet/prt/portal/prtmode/preview/prtroot/pcd!3aportalcontent!2fcom.analog.analog!2fcom.analog.SD_BI_REPORTS!2fcom.analog.SD_iviews!2fcom.analog.z_quote_text?sap-config-mode=true&_gv_doc%3d0040013811&gv_item%3d000001 NOT WORKING.
    Simple BSP application: ON INITIALIZATION Method
    event handler for data retrieval
    data: gv_name type thead-tdname.
    data: lt_line1 type standard table of tline,
          lt_line2 type standard table of tline,
          lt_line3 type standard table of tline,
          lt_line4 type standard table of tline.
    data: l_rfcwa type rfcdest.
    data: event type ref to cl_htmlb_event,
          url type string,
          parameter type string,
          url_page type ref to if_bsp_page.
    l_rfcwa = 'PRD_CLI002'.
    if gv_doc is initial.
    CALL METHOD request->get_form_field
      EXPORTING
        name               = 'gv_doc'
       formfield_encoding = 0
      receiving
        value              = gv_doc.
      endif.
      concatenate gv_doc gv_item into gv_name.
      call function 'ZBI_STNDARD_TEXT'
        destination l_rfcwa
        exporting
          name   = gv_name
        tables
          lines1 = lt_line1
          lines2 = lt_line2
          lines3 = lt_line3
          lines4 = lt_line4.
      gt_line1[] = lt_line1[]. "Internal Header Text
      gt_line2[] = lt_line2[].
      gt_line3[] = lt_line3[].
      gt_line4[] = lt_line4[].
    Layout:
    <%@page language="abap" %>
    <%@extension name="htmlb" prefix="htmlb" %>
    <htmlb:content design="design2003" >
      <htmlb:page title="Quote Texts " >
        <htmlb:form>
          <htmlb:inputField id            = "gv_sid"
                            value         = "<%= gv_doc %>"
                            visible       = "FALSE"
                            submitOnEnter = "TRUE" />
          <htmlb:inputField
                            id            = "gv_itm"
                            value         = "<%= gv_item %>"
                            visible       = "FALSE"
                            submitOnEnter = "TRUE" />
          <htmlb:textView text      = "Quote Texts for <%= gv_doc %> "
                          design    = "HEADER1"
                          layout    = "BLOCK"
                          textColor = "dark blue" />
          <%   if gt_line1 is INITIAL.       %>
          <htmlb:textView text   = "No Internal Header Text Found"
                          design = "HEADER2" />
          <% else. %>
          <htmlb:textView text   = "Internal Header Text"
                          design = "HEADER2" />
          <%   loop at gt_line1 into gs_line.    %>
          <htmlb:textView id     = "textEdit"
                          layout = "BLOCK"
                          text   = "<%= gs_line-tdline %>" />
          <%   endloop.       %>
          <%   ENDIF.       %>
    <%--* External Header text      --%>
          <%   if gt_line2 is INITIAL.       %>
          <htmlb:textView text   = "No External Header Text Found"
                          layout = "BLOCK"
                          design = "HEADER2" />
          <%   else.       %>
          <htmlb:textView text   = "External Header Text"
                          layout = "BLOCK"
                          design = "HEADER2" />
          <%   clear gs_line.       %>
          <%   loop at gt_line2 into gs_line.       %>
          <htmlb:textView id     = "textEdit"
                          layout = "BLOCK"
                          text   = "<%= gs_line-tdline %>" />
          <%   endloop.       %>
          <%   ENDIF.       %>
    <%Internal Item text%>
          <%   if gt_line3 is INITIAL.       %>
          <htmlb:textView text   = "No Internal Item Text Found"
                          layout = "BLOCK"
                          design = "HEADER2" />
          <%   else.       %>
          <htmlb:textView text   = "Internal Item Text"
                          layout = "BLOCK"
                          design = "HEADER2" />
          <%   clear gs_line.       %>
          <%   loop at gt_line3 into gs_line.       %>
          <htmlb:textView id     = "textEdit"
                          layout = "BLOCK"
                          text   = "<%= gs_line-tdline %>" />
          <%   endloop.       %>
          <%   ENDIF.       %>
    <%External Item text%>
          <%   if gt_line4 is INITIAL.       %>
          <htmlb:textView text   = "No External Item Text Found"
                          layout = "BLOCK"
                          design = "HEADER2" />
          <%   else.       %>
          <htmlb:textView text   = "External Item Text"
                          layout = "BLOCK"
                          design = "HEADER2" />
          <%   clear gs_line.       %>
          <%   loop at gt_line4 into gs_line.       %>
          <htmlb:textView id     = "textEdit"
                          layout = "BLOCK"
                          text   = "<%= gs_line-tdline %>" />
          <%   endloop.       %>
          <%   ENDIF.       %>
        </htmlb:form>
      </htmlb:page>
    </htmlb:content>
    Please guide me to call iview using dynamic parameters.
    Thanks,
    Ben.
    Edited by: Nagesh Ganisetti on Feb 2, 2009 8:47 AM
    Edited by: Nagesh Ganisetti on Feb 2, 2009 8:48 AM
    Edited by: Nagesh Ganisetti on Feb 2, 2009 8:49 AM

  • How can i create a BSP system?

    <b></b>
    Hello All,
    I need to create a BSP system could u plz provide me any one step by step procedure for me
    Thanks in advance
    Bye

    BSP is a programming language available inside of SAP NetWeaver 620/640 systems.
    If you have one of these available you already have the basis and all you need to do is some configuration changes.

  • How to create the BSP to display the document in two lang(English & Arabic)

    Hi ,
    I got the requirement where  i need to create the  form for the Annuitant (Retriees) through they will inform their annuity department still they are surviving....so based upon that,Annuitant department run the annuity payslip for him.......
    In that I should keep company information in the top and resprctive employee information like EMP ID and his contact address need to specify by default.....
    For ex: Employee X is clicking this form..it should contain common information like company name and also employee's "X"  respective information like his EMP ID and his contact address like wise the form should generate both common address and employee respective information.....both in Arabic and in english....
    Is there any readymade BSP for this or if anybody have developed same kind of BSP pls send the code to [email protected]
    How to do that.....ist very urgent.......
    Help will be higly apppreciated.......
    Thanks in Advance ,
    Jasmine

    Hi ,
    You can use  BSP Application  HAP_DOCUMENT  for creating/modifying appraisal forms.
    use the  page document_todo.htm
    Create a BSP Iview for documnet_todo.htm in the Portal...

  • Creat xilkernel bsp (lwip in socket mode) but product error:'MAX_SEM' undeclared here

    hello everone:
    I have a microblaze-based(include axi4、MCB_DDR2、axi_intc、axi_ethernetlite、axi_timer ang so on )product running on a spartan-6 FPGA which uses lwip on the xilkernel (lwip in socket mode).But,i can't create the bsp ,because there are something wrong with it.
    "Compiling lwIP adapter for Xilinx MAC"
    contrib/ports/xilinx/sys_arch.c:63:35: error: 'MAX_SEM' undeclared here (not in a function)
    make[1]: *** [contrib/ports/xilinx/sys_arch.o] 错误 1
    make[1]: 由于错误目标“libs”并未重新创建。
    "Compiling cpu"
    ERROR:EDK:369 - make failed for target "libs"
    ERROR:EDK:3418 - Error(s) while running make.
    make: *** [microblaze_0/lib/libxil.a] 错误 2
    make: 由于错误目标“all”并未重新创建。
    what should i do to solve it. Thank you in advanced.

    hi gy343279479
    glad to know that the issue is solved. please mark the post as solved. this can be a reference to other users.
    --hs

  • Is there a way to create a collection based on the "previous import"?

    is there a way to create a collection based on the "previous import"? that would make it easy to mobile sync the last import to my ipad, and do further picking/rejecting while away from my laptop.

    well, yes, of course i could do it that way. i guess i wasn't specific enough. is there a way to create a smart collection, with the photos in the "previous import" as members of the smart collection.  earlier i mentioned about using this smart collection to mobile sync with my ipad, to do further flagging.
    so my intention, use a smart collection to mobile sync with my ipad, and the smart collection to include the photos from my previous import.
    i guess another way to ask the question, is there a way to create a smart collection, by using some rule or condition in the smart collection, to automatically include previous import photos.
    the documentation says that "previous import" is a collection, even though it shows up in the catalogue side bar section. but i see no way to choose that collection when making a smart collection.
    jd

  • How to create the web based report without enterprise portal?

    Hi experts,
    We don't have enterprise portal but I like to create the web based version of the existing Bex reports and which option is the best to distribute this web based report using information broadcasting?
    Can I use report designer for this?
    Thanks in advance.
    Sharat.

    Hi Sharat
    In BI 7.0 the Queries which u devoleped can be broad casted by using two ways .
    1. Enterprise portal
    2.Web Application Designer(WAD)
    So you can choose any of the option, For the Option 1 you should have seperate server for the EP or else For option 2 you have to make some setting in the BI system to enable the Web reports..
    Reagrds
    Satish

  • How to create an order based on Notification through BAPI_ALM_ORDER_MAINTAIN

    Hi
    I need to create an order based on the notification no. This is manually can be done using the Standard T.Code IW34.I am using BAPI_ALM_ORDER_MAINTAIN to create an order based on Notification. I am getting the below message( which is success message)
    Order %00000000001 saved with number 40001258
    BAPI control was ended
    Though order is created it not assigned to notification No. I am using ref key as '%00000000001' and also I tried with '%0000000000140232323' where 40232323 is notification No.
    And if I checked in order the notification No is assigned to order as '%00000000001'. And when I check back the Notification, the order is not assigned to Notification No. How to assign the created order no to Notification No.
    Code is attached for Ref.
    Now the problem is the order is not assigned to notification no. Is there any FM or BAPI to do the same fucntionality..!
    Regards,
    Amar

    Hello Amarnadh,
    Keng Haw Soon is right, object key should always have the client like 010.
    In your code you were passing it without the client.
    Pass like below and it will work.
    ls_methods-objectkey = '%00000000001000040232323'.
    Regards,
    Thanga

Maybe you are looking for

  • How to install the adobe creative cloud packager and how to apply the adobe ID for Admin user

    Hi team, Anyone has done install silently the captivate 8 using AAME? i try using this tool to create the msi but its not work. i saw the previous disussion on captivate 7 and they said cannot use AAME and need to use CCP. isit also applicable to Ado

  • Multi channel xy graph

    Hello everyone, I've encountered this problem a lot, and I always wondered if there isn't an easier way to plot more channels over one x axis, more comfortable than in my solution attached. ( Wafeform is not a possibility, the timebase is not constan

  • Sharing a Numbers Spreadsheet with MacBook Pro

    I just bought Numbers for MacBook Pro so I can share my iPad spreadsheets with the Mac via iCloud. The Mac version found and seemlessly opened the iPad spreadsheet. I made a few simple edits on the Mac, clicked Save and saw the iPad version updated.

  • /SAPAPO/TSCUBE Data load issue

    When i am using /SAPAPO/TSCUBE, I am getting an error message “InfoCube not read. No characteristic or navigation attribute exists”.  I checked the cube it’s got all the required CH and it did worked fine in Dev environment but not in Quality.  Is an

  • Help on JVM at Solaris 10.x

    Hi Currently we have Solaris 8.x installed and we have JVM version of 1.3 installed in it. Now we are going to upgraed the OS to Solaris 10.x. I want to know whether we need to upgrade the JVM to accomodate the new OS? Regards Ravi.