Defining container for BO FIPP method POST

Hi Experts,
New to workflow, we are creating a program that instantiate BO FIPP method POST, how to create container for this fields?
object-key-documentno. object-key-sourcecompanycode. object-key-fiscalyear.
We will populate this from parameters.
Thanks!

Hi John
I am not sure if I got your requirement clearly, but if you are trying to call the processing of POST method of FIPP via a stand alone ABAP code, you can use the following:
Call FM SWO_CREATE where objtype = 'FIPP' and objkey = concatenated string of Doc No, Source Company Code and Fiscal year (including spaces and/or leading zeros ... iam assuming that you have this key in your ABAP program)
You will get the FIPP object Reference in parameter "object"
Now using this reference, call FM SWO_INVOKE  where Access = 'C' (that is, call a method......if you need to read an attribute, you can make this as 'G'), Object = the object reference from above call to SWO_CREATE and VERB = 'POST' (if left blank, the default method of the BO is called for access 'C' and for access 'G', the default attribute is returned if no value is given). Pass any method data in "container".
Hope this is what you were looking for....if not... please elaborate on your requirement.
Regards,
Modak

Similar Messages

  • To have error msg for RG Part II posting

    Dear All gurus,
    presently in our system for invoice posting we have defined check for RG Part II posting as WARNING only. I want to hav it as ERROR msg. That is untill user has done Part II posting, system shud not save invoice. I checked system msgs in SPRO> MM>Log. Inv. Verification--> Def Attrbuted of System Msgs, but I cud not find that msg there. Can anyone guide me where can I change this msg to error msg.
    Warning Message is as follows
    RG23 Part II posting not yet done
    I checked in OBA5
         Message no. 8I478
    Thanks
    Edited by: sapsarang on Aug 7, 2009 2:02 PM

    HI,
    U can do it thru
    LG --> Tax on Goods Movement - India -- Tools -- Message Control .. here check 8I 478 is ava or not? if ava change the status into Error . if not ava, slect new entry and create for this msge nbr

  • Create rules for selection of Reconciliation posting (TCODE: KALK)

    Hello SAP Experts,
    I haven't worked on New GL concept but I am trying to learn it myself. Till now I have linked the Controlling area with New GL. But I don't know how to "define rules for selection of reconciliation posting"
    SPRO--->. FInancial Accounting (NEW) --->Financial Accounting Global Settings (NEW) ->Ledgers-> Real time integration of controlling and FA--->Define rules for selecting CO line items
    If any of you who have worked on it can explain me about it then it would be great.
    Thanks in advance.
    Mohit
    Edited by: mohitg7 on May 2, 2010 3:44 AM

    Do as below my dear
    Go to FS00 and input the GL 400019. Check the Tab "Create/bank/interest.
    Take the Field Status group and go to OBC4. Examle- G052
    Click on the same Field Status group and double click on Asset accounting.
    Asset retirement ...........................Required
    Asset number / subnumber...........Optional
    Now go to T Code OB41
    Double click on Posting key 15
    Click on "Maintain field status" from application tol bar. Double click on Asset accounting.
    Asset retirement ...........................Optional
    Asset number / subnumber...........Optional
    Now post the transaction and see
    Thanks

  • Does not contain a static 'Main' method suitable for an entry point_

    Hello
    I want to to do a project with Entiity Framework . I add a project to my solution for my domain class and it's name is 'LinkModel.DomainClasses'.  when I prees F5 there is an error like bellow.
    Could You help me to solve this? thanks alot
    ..\Documents\Training\LinkCodeFirstLast\LinkCodeFirst\LinkCodeFirst\LinkModel.DomainClasses\obj\Debug\LinkModel.DomainClasses.exe'
    does not contain a static 'Main' method suitable for an entry point

    Hi bkshn,
    This error is caused by the missing "Main" method in your project. it is the entry point of your project.
    If you want to create a EF project, you could follow the way in the aricle below.
    https://msdn.microsoft.com/en-us/data/ee712907#codefirst
    The Main method is like below.
    class Program
    static void Main(string[] args)
    using (var db = new BloggingContext())
    // Create and save a new Blog
    Console.Write("Enter a name for a new Blog: ");
    var name = Console.ReadLine();
    var blog = new Blog { Name = name };
    db.Blogs.Add(blog);
    db.SaveChanges();
    // Display all Blogs from the database
    var query = from b in db.Blogs
    orderby b.Name
    select b;
    Console.WriteLine("All blogs in the database:");
    foreach (var item in query)
    Console.WriteLine(item.Name);
    Console.WriteLine("Press any key to exit...");
    Console.ReadKey();
    And you could start to learn the EF from the following MSDN blogs.
    https://msdn.microsoft.com/en-us/data/ee712907
    If you have any other concern regarding this issue, please feel free to let me know.
    Best regards,
    Youjun Tang
    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.

  • Projectname.exe' does not contain a static 'Main' method suitable for an entry point .

    Hi,
    I'm developing a blog reader for windows 8 store app. It was perfectly worked before. But because of some miss behave my coding i get below error. No other errors there.
    Error    1    Program 'c:\Users\.........\Desktop\Blog_Reader\Blog_Reader\obj\Release\intermediatexaml\Blog_Reader.exe' does not contain a static 'Main' method suitable for an entry point    C:\Users\..........\Desktop\Blog_Reader\Blog_Reader\CSC  
     Blog_Reader
    Please help me to figure this.
    Thank You!

    Go to your App.Xaml and R-Click Go to Properties
    Check whether the Build Action is ApplicationDefinition
    If not change it to ApplicationDefinition. Clean the code (solution ) and Deploy..
    Chears....

  • Solution for Windows Store app "projectname.exe" does not contain a static 'Main' method suitable for an entry point . Error.

    Hi,
    I'm developed a blog reader for windows 8 store app. It was perfectly worked before. But suddenly it started to miss behave and I got an
    error. No other errors were there other than that.
    Error 
    Program c:\Users\.........\Desktop\Blog_Reader\Blog_Reader\obj\Release\intermediatexaml\Blog_Reader.exe' does not contain a static 'Main'
    method suitable for an entry point. 
    C:\Users\..........\Desktop\Blog_Reader\Blog_Reader\CSC    Blog_Reader
    But I found the solution while I fixing it.
    Solution for that is like below.
    Go to your App.Xaml and Right-Click thenGo to Properties
    Check whether the Build Action is
    ApplicationDefinition
    If not change it to ApplicationDefinition.
    Clean the code (solution) and Deploy
    Now the error is fiexed.

    Hi Robana, 
    Good sharing on the Technet. 
    This will definitely benefit other who may encounter the same issue as yours.
    Thanks for your sharing again. 
    Kate Li
    TechNet Community Support

  • Postings for account type M ( posting key 99 ) are not defined

    Hi,
    I am trying to post vendor credit memo KG through FB01 using posting key 21 - Debit Vendor and posting key 99 - Credit Material.
    I am getting the error "Postings for account type M ( posting key 99 ) are not defined Message F5204".
    The posting key 99 is set for account type material. Is there anything else that need to be configured?
    Is there any other way that i can debit a vendor and credit material through FI postings (without purchase order)
    Thanks
    Sukumar

    Hi Ravi,
    I am also having the same issue.
    I want to load some costs to materials thorugh Finance module.  In that case i am trying to post the values through F-43 document.
    In posting key 89, but system not accepted.  As per your suggestion i am trying to take 81 posting key.  Then system is asking the GL, there is i select the Stock GL, system won't allow to post the values to the stock account. 
    So what will be the solution to add or to deduct any other charges to the material cost through finance module.

  • Terminating Event for BUS2017 Custom Method

    Dear Experts,
    I have an issue with the Terminating Event of the Workflow for BO : BUS2017. The event is getting triggered but receiver is not being picked.
    I have created two events GR_103 and POST_105 in the Custom BO ZBUS2017 by delegating it to BUS2017. GR_103 is the triggering event for my workflow which I have triggered in the POST_DOCUMENT Method of the Implmentation for BADI : MB_MIGO_BADI.
    GR_103 is triggered while doing MIGO (Goods Receipt) for Movement Type 103. My Workflow is triggered perfectly and then I have used a Dialog Asynchronous Task in which I have called the MIGO Transaction for Releasing the GR Blokced Stock using the Movement Type 105. I have created a Custom Method POST in the BO ZBUS2017 and I have used the FM: MIGO_DIALOG to call the MIGO. I am trying to raise the POST_105 event in the Method MB_DOCUMENT_BEFORE_UPDATE of the Interface IF_EX_MB_DOCUMENT_BADI.  I have defined the Terminating Event for the asynchronous Task as POST_105.
    Now the event POST_105 is triggered, but SWEL says 'No receiver entered'. Even the SWEINST shows the object data as the current Work Item along with Object Key, but still receiver not picked. When I try to trigger the same event in a test report by using call transaction, then the event triggers and work item gets completed without any issues.
    Please advise.
    Below is my terminating event code.
      READ TABLE xmseg INTO wa_mseg INDEX 1.
      CONCATENATE wa_mseg-mblnr wa_mseg-mjahr INTO l_objkey.
      IF wa_mseg-bwart = '105' .
        CALL FUNCTION 'SWE_EVENT_CREATE'
          EXPORTING
            objtype           = 'BUS2017'
            objkey            = l_objkey
            event             = 'POST_105'
          EXCEPTIONS
            objtype_not_found = 1
            OTHERS            = 2.
      ENDIF.
    Regards,
    Raju.

    Have a COMMIT WORK after the function call. (At least test it - I am not sure if it will have some effects in your BADI - at least you will know whether the issue is about missing commit).
    And please use SAP_WAPI_CREATE_EVENT instead of the old function you are using.
    Also, make sure that the events will look exactly the same in event monitor SWEL when triggered from your code and when using test tool. Maybe there is some minor difference/mistake (object key, etc.) that you haven't noticed.
    Regards,
    Karri
    Edited by: Karri Kemppi on Feb 7, 2012 8:14 AM

  • BADI ME_PROCESS_PO_CUST Method Post

    Hi, how can we know in the method post of the BADI ME_PROCESS_PO_CUST if we are in creation mode (me21n) or change mode (me22n), I need to do some coding only at the creation of the PO but this method is call anytime we click save!
    thanks!

    Hello Alexandre
    It would be possible to check the transaction. However, if the BAPI BAPI_PO_CREATE is used the BAdI is also processed yet the transaction is most likely wrong.
    An <u>unambigous </u>approach is to check IMPORTING parameter IM_TRTYP in method IF_EX_ME_PROCESS_PO_CUST~OPEN:
    METHOD if_ex_me_process_po_cust~open.
    * define local data
      DATA:
        lo_po          TYPE REF TO cl_po_header_handle_mm,
        ls_header      TYPE mepoheader.
      me->md_trtyp = im_trtyp.  " save transaction type
      IF ( im_trtyp = 'H' ).  " add new purchase order
    I would add an instance attribute MD_TRTYP to the BAdI implementing class and save the transaction type in method IF_EX_ME_PROCESS_PO_CUST~OPEN (see above).
    Now you can simply add the following IF condition to your POST method:
    METHOD if_ex_me_process_po_cust~open.
      CASE me->md_trtyp. 
        WHEN 'H'.    " add new purchase order
      ...  " do required action for CREATE
        WHEN ... .
        WHEN others.
      ENDCASE.
    The possible transaction types can be found at: im_trtyp -> data element -> <b>domain </b>(fixed values).
    Regards
      Uwe

  • Details for last question I post

    the original code for last question I post(about the DataInputStream& EOFException) is here, thanks if anyone will bother to read it
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.net.*;
    import java.io.* ;
    public class MasterMindServer
         public MasterMindServer()
              try{
                   ServerSocket serverSocket=new ServerSocket(8000);
                   Socket socket=serverSocket.accept();
                   HandleAClient thread=new HandleAClient(socket);
                   thread.start();
                   }catch(IOException e){System.out.println("Error:"+e.toString());}
         public static void main(String args[])
              new MasterMindServer();
    //inner class
    class HandleAClient extends Thread
         DataOutputStream out;
         DataInputStream in;
         BufferedReader fromFile;
         private Socket socket;
         String line;
         public HandleAClient(Socket socket)
              this.socket=socket;
         public void run()
              int x,o;
              try{
                     out=new DataOutputStream(socket.getOutputStream());
                   in=new DataInputStream(socket.getInputStream());
                   fromFile=new BufferedReader(new FileReader("colorcode.txt"));
                  while((line=fromFile.readLine())!=null)
                    for(int i=0;i<10;i++)
                      String t=in.readUTF();
                      x=check_column(t);
                       System.out.println(x);
                       o=check_color(t);
                       System.out.println(o);
                       out.writeInt(x);
                       out.writeInt(o);
                       if(x==6) break;
                     out.writeUTF(line);
                   socket.close();
                   System.out.println("close");
             }catch(IOException e){
             System.out.println("Error:"+e.toString());}
         public int check_column(String s)
              String str;
              str=s;
              int count=0;
              for(int i=0;i<6;i++)
                   if(s.charAt(i)==line.charAt(i))
                   count++;
              return count;
         public int check_color(String s)
              String str;
              str=s;
              int count=0;
              for(int i=0;i<6;i++)
                   if((line.indexOf(s.charAt(i))!=-1)&&(line.charAt(i)!=s.charAt(i)))
                   count++;
              return count;
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.net.*;
    import java.io.* ;
    public class MasterMindClient extends JFrame implements MouseListener,ActionListener
      /** Default constructor */
      //keep track of the row (or trial) and column number
      int trial_num, col_now ;
      Socket socket;
      int count[]={5,5,5,5,5,5};
    JPanel A[]  = new JPanel[10];
      JPanel B1[] = new JPanel[10];
      JPanel B2[] = new JPanel[10] ;
      JPanel notice = new JPanel() ;
      JPanel sub_notice = new JPanel();
      JPanel D1, D2 ;
      static JTextField [][]color = new JTextField[10][6] ;
      static JTextField [][]Output = new JTextField[10][2];
      static JTextField [][]Answer = new JTextField[1][6] ;
      static JButton []ok = new JButton[10];  
      JLabel L1 = new JLabel("Click the textfield to change color");
      JLabel L2 , L3, L4 ;
      String colorRange="BCGRYW";
      Color colorName[]={Color.black,Color.cyan,Color.green,Color.red,Color.yellow,Color.white};
      String temp ;
    public MasterMindClient() {
        // initialize
        trial_num = 0;
        col_now = 0;
        //sub_notice is Panel where the heading labels are placed
        sub_notice.setLayout(new GridLayout(1,3)) ;
        L2 = new JLabel("  ") ;
        L3 = new JLabel("X");
        L3.setHorizontalAlignment(JTextField.CENTER);
        L4 = new JLabel("O");
        L4.setHorizontalAlignment(JTextField.CENTER);
        L3.setToolTipText("matching color and column");
        L4.setToolTipText("matching color but not matching column" );
        sub_notice.add(L2);
        sub_notice.add(L3);
        sub_notice.add(L4);
        notice.setLayout(new GridLayout(1,2)) ;
        notice.add(L1) ;
        notice.add(sub_notice) ;
        // Get the content pane of the frame
        Container c = getContentPane();
        // Set GridLayout, 4 rows, 3 columns, and gaps 5 between
        // components horizontally and vertically
        c.setLayout(new GridLayout(12, 1, 5, 5));
        c.add(notice);
         JPanel Display = new JPanel() ;
         Display.setLayout(new GridLayout(1,2,5,5)) ;
       //create a Panel for each row to accept use input
       // color[][] textfield is where the user input
       // Output[][] is where to display the number of X and O
        for (int i = 0; i <= A.length-1 ; i++)
        A[i] = new JPanel() ;
        A.setLayout(new GridLayout(1, 2,10,10));
    B1[i] = new JPanel();
    B1[i].setLayout(new GridLayout(1,6,5,5)) ;
    B2[i] = new JPanel();
    B2[i].setLayout(new GridLayout(1,3,5,5)) ;
    for (int j = 0; j <= color[i].length-1 ; j++)
    color[i][j] = new JTextField() ;
    color[i][j].setHorizontalAlignment(JTextField.CENTER);
    if (i == 0)
    {color[i][j].setEditable(true) ;
    else
    {color[i][j].setEditable(false);
    color[i][j].addMouseListener(this);
    B1[i].add(color[i][j]) ;
    } // j loop
    ok[i] = new JButton("SEND");
    if(i==0)
         ok[i].setEnabled(true);
    else
         ok[i].setEnabled(false);
    ok[i].addActionListener(this);
    B2[i].add(ok[i]) ;
    Output[i][0] = new JTextField();
    Output[i][1] = new JTextField();
    Output[i][0].setEditable(false);
    Output[i][1].setEditable(false);
    Output[i][0].setHorizontalAlignment(JTextField.CENTER);
    Output[i][1].setHorizontalAlignment(JTextField.CENTER);
    B2[i].add(Output[i][0]);
    B2[i].add(Output[i][1]);
    A[i].add(B1[i]);
    A[i].add(B2[i]) ;
    c.add(A[i]) ;
    } //for i loop
    //D panel is where we store the answer[][]
    D1 = new JPanel();
    D1.setLayout(new GridLayout(1,6)) ;
    D2 = new JPanel();
    D2.setLayout(new GridLayout(1,2)) ;
    for (int j = 0; j <= Answer[0].length-1 ; j++)
    Answer[0][j] = new JTextField(0) ;
    Answer[0][j].setHorizontalAlignment(JTextField.CENTER);
    Answer[0][j].setEditable(false) ;
    D1.add(Answer[0][j]) ;
    Display.add(D1) ;
    Display.add(D2) ;
    c.add(Display) ;
    public void runClient()
         try
    {      socket=new Socket("localhost",8000);
    DataInputStream in=new DataInputStream(socket.getInputStream());
    int x=0;
    int o=0;
    try{
    while(true)
         while(trial_num<10)
              x=in.readInt();
              //System.out.println(x);
              Output[trial_num][0].setText(String.valueOf(x));
              o=in.readInt();
              //System.out.println(o);
              Output[trial_num][1].setText(String.valueOf(o));
              for(int i=0;i<6;i++)
              color[trial_num][i].setEnabled(false);
         ok[trial_num].setEnabled(false);
         trial_num++;
         col_now=0;
         if(x==6)
                   JOptionPane.showMessageDialog( null, "Congratulation, you've won the game !! " );
                   //ok[trial_num].setEnabled(false);
    break;
         if(trial_num<10)
         {  for(int i=0;i<6;i++)
              color[trial_num][i].setEditable(true);
              count[i]=5;
         ok[trial_num].setEnabled(true);
         if(x!=6)
         {  JOptionPane.showMessageDialog( null, "sorry you did not win the game");
         temp=in.readUTF();
         System.out.println(temp);
         //temp=in.readUTF();
         //System.out.println("can");
         for(int i=0;i<6;i++)
         System.out.println(i);
         char a=temp.charAt(i);
         int index=colorRange.indexOf(String.valueOf(a));
         Answer[0][i].setBackground(colorName[index]);
         trial_num=0;
         for(int j=0;j<10;j++)
         for(int k=0;k<6;k++)
         color[j][k].setBackground(Color.white);
         for(int j=0;j<10;j++)
         for(int k=0;k<2;k++)
         Output[j][k].setText(null);
         for(int i=0;i<6;i++)
              color[trial_num][i].setEditable(true);
              count[i]=5;
         ok[0].setEnabled(true);
         catch(EOFException em){}
         }catch(IOException ex){
              System.out.println("Error:"+ex.toString());}
    public void mouseClicked(MouseEvent e)
    for(int i=0;i<6;i++)
         if(e.getComponent()==color[trial_num][i])
         {         col_now=i;
         break;
    count[col_now]=(count[col_now]+1)%6;
    color[trial_num][col_now].setBackground(colorName[count[col_now]]);
    public void mouseEntered(MouseEvent e)
    public void mouseExited(MouseEvent e)
    public void mouseReleased(MouseEvent e)
    public void mousePressed(MouseEvent e)
    public void actionPerformed(ActionEvent e)
         try{
              send();
         }catch(IOException et){System.out.println("Error:"+et);}
    public void send()throws IOException
         DataOutputStream out=new DataOutputStream(socket.getOutputStream());
         char cbuf[]=new char[6];
         for(int i=0;i<6;i++)
              cbuf[i]=colorRange.charAt(count[i]);
    System.out.println(cbuf);
         out.writeUTF(new String(cbuf));
    /** Main method */
    public static void main(String[] args) {
    MasterMindClient frame = new MasterMindClient();
    frame.setTitle("Master Mind");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setLocation(300,300) ;
    frame.setSize(450, 450);
    frame.setVisible(true);
    frame.runClient();
    } // end of class

    I notice that you have several hundred lines of GUI code there. None of them have anything to do with the problem you are trying to solve. So put them all aside and write a SMALL test program that does nothing but the little loop you are having a problem with. Shouldn't be more than 20 lines of code.

  • User defined rule for missing triples

    Hi,
    i would like to know if there is a way to define a user defined rule for triples that are not contained in a model. With curly brace syntax it could be something like this:
    INSERT INTO mdsys.semr_validation_rb VALUES(
    'test_rule',
    '{?s ?p ?o. OPTIONAL{?s rdf:type ?t}}',
    't is null',
    '(?s <hasType> "false")',
    null);
    Unfortunately this is not working. Has anybody a suggestion to solve this problem with user defined rules?

    Hi,
    This is related to the following post.
    built-in primitives(noValue,remove) for user defined rules
    Note that there is something you need to pay a bit attention to.
    Say your original graph contains
    :John :fatherOf :Mary
    but not any type classification for :John (i.e. no match for {:John rdf:type ?t})
    Assume you add the following triple according to the rule you described
    (:John <hasType> "false")
    Now, what happens if :John is classified as a :Person (or :Parent, :Father),
    do you want to withdraw* :John <hasType> "false"?
    Thanks,
    Zhe

  • Fill container for alerts

    Hi.
    I created alert that is triggered via action. The alert now displays only some text that i defined. But now I would like to get in that text also the value of transaction number of task from witch alert was triggered.
    I saw that there is the option on alerts to define container (SPRO > CRM > basic functions > alert management > define alert categories) but I don't now how to do it.
    I added in container BOR object type BUS2000125 and in text the expression &PROCESS_TYPE.OBJECT_ID&, but looks like that is not enough.
    Help needed.

    hi. There is no new note that I would know about. However I managed to solved the problem via steps from old note, but had to do quite a coding on Z version of TRIGGER_ALERT method.
    This is my code source:
    METHOD ZTRIGGER_ALERT .
      DATA: lt_container       TYPE swconttab,
           ls_container       TYPE swcont,
           lv_kind_ref        TYPE crmt_object_kind,
           lv_guid_ref        TYPE crmt_object_guid.
      DATA: lt_head_guids      TYPE crmt_object_guid_tab,
            lt_item_guids      TYPE crmt_object_guid_tab,
            lt_req_obj         TYPE crmt_object_name_tab,
            ls_orderadm_h_ref  TYPE crmt_orderadm_h_wrk,
            lt_orderadm_h_ref  TYPE crmt_orderadm_h_wrkt,
            lv_header_ref      TYPE crmt_object_guid,
            ls_orderadm_i_ref  TYPE crmt_orderadm_i_wrk,
            lt_orderadm_i_ref  TYPE crmt_orderadm_i_wrkt.
      DATA: lv_message         TYPE char80,
            lv_preview         TYPE char1.
      DATA: lv_category        TYPE salrtdcat,
            lt_partner         TYPE crmt_partner_external_wrkt,
            ls_partner         TYPE crmt_partner_external_wrk,
            lt_recipients      TYPE TABLE OF salrtsrcp,
            ls_recipients      LIKE LINE OF lt_recipients,
            lv_guid_32         TYPE sysuuid_c.
      INCLUDE crm_log_states_con.
      INCLUDE crm_mode_con.
      INCLUDE crm_object_names_con.
      INCLUDE crm_object_kinds_con.
      INCLUDE com_partner_pft3.
    * get parameter from reference object
      CALL METHOD me->get_ref_object
        EXPORTING
          io_appl_object = io_appl_object
          ip_action      = ip_action
          ip_preview     = ip_preview
          ii_container   = ii_container
        IMPORTING
          ev_guid_ref    = lv_guid_ref
          ev_kind_ref    = lv_kind_ref
          et_container   = lt_container
          ev_preview     = lv_preview.
    * not relevant iv preview is active
      IF NOT lv_preview IS INITIAL.
        MESSAGE s007(crm_action).
        EXIT.
      ENDIF.
    * fill guid of the source document
      REFRESH: lt_head_guids, lt_item_guids.
      IF lv_kind_ref EQ gc_object_kind-orderadm_h.
        INSERT lv_guid_ref INTO TABLE lt_head_guids.
      ELSEIF lv_kind_ref EQ gc_object_kind-orderadm_i.
        INSERT lv_guid_ref INTO TABLE lt_item_guids.
      ENDIF.
    * fill requested object
      INSERT gc_object_name-orderadm_h INTO TABLE lt_req_obj.
      INSERT gc_object_name-orderadm_i INTO TABLE lt_req_obj.
      INSERT gc_object_name-partner    INTO TABLE lt_req_obj.
    * read relevant itmes of the source document
      CALL FUNCTION 'CRM_ORDER_READ'
        EXPORTING
          it_header_guid       = lt_head_guids
          it_item_guid         = lt_item_guids
          iv_only_spec_items   = true
          it_requested_objects = lt_req_obj
        IMPORTING
          et_orderadm_h        = lt_orderadm_h_ref
          et_orderadm_i        = lt_orderadm_i_ref
          et_partner           = lt_partner
        EXCEPTIONS
          document_not_found   = 1
          error_occurred       = 2
          document_locked      = 3
          no_change_authority  = 4
          no_display_authority = 5
          OTHERS               = 6.
      IF sy-subrc NE 0.
    *   write message into ppf-log
        CALL METHOD cl_log_ppf=>add_message
          EXPORTING
            ip_problemclass = '2'
            ip_handle       = ip_application_log.
    *   set return status
        rp_status = '2'.
        EXIT.
      ENDIF.
      IF lv_kind_ref EQ gc_object_kind-orderadm_h.
        lv_header_ref = lv_guid_ref.
      ELSEIF lv_kind_ref EQ gc_object_kind-orderadm_i.
        READ TABLE lt_orderadm_i_ref INTO ls_orderadm_i_ref INDEX 1.
        lv_header_ref = ls_orderadm_i_ref-header.
    *   get business object to built URL
        CALL FUNCTION 'CRM_ORDERADM_H_READ_OW'
          EXPORTING
            iv_orderadm_h_guid     = lv_header_ref
          IMPORTING
            ev_object_type         = ls_orderadm_h_ref-object_type
            ev_logical_system      = ls_orderadm_h_ref-logical_system
          EXCEPTIONS
            admin_header_not_found = 1
            OTHERS                 = 2.
        IF sy-subrc EQ 0.
          ls_orderadm_h_ref-guid = lv_header_ref.
          INSERT ls_orderadm_h_ref INTO TABLE lt_orderadm_h_ref.
        ELSE.
    *     write message into ppf-log
          CALL METHOD cl_log_ppf=>add_message
            EXPORTING
              ip_problemclass = '2'
              ip_handle       = ip_application_log.
    *     set return status
          rp_status = '2'.
          EXIT.
        ENDIF.
      ENDIF.
    * fill alert category
      READ TABLE lt_container INTO ls_container
           WITH KEY element = 'CATEGORY'.
      IF sy-subrc EQ 0.
        lv_category = ls_container-value.
      ENDIF.
    * check mandatory fields
      IF lv_category IS INITIAL.
    *   write message into ppf-log
        MESSAGE ID 'CRM_ACTION' TYPE 'E' NUMBER 004
              WITH 'CATEGORY' INTO lv_message.
        CALL METHOD cl_log_ppf=>add_message
          EXPORTING
            ip_problemclass = '2'
            ip_handle       = ip_application_log.
    *    set return status
        rp_status = '2'.
        EXIT.
      ENDIF.
    * now filter the employees.
      LOOP AT lt_partner INTO ls_partner
           WHERE partner_pft EQ gc_partner_pft-employee.
        CLEAR: ls_recipients.
        CALL FUNCTION 'BP_CENTRALPERSON_GET'
          EXPORTING
            iv_bu_partner_guid  = ls_partner-bp_partner_guid
          IMPORTING
            ev_username         = ls_recipients-uname
          EXCEPTIONS
            no_central_person   = 1
            no_business_partner = 2
            no_id               = 3
            OTHERS              = 4.
        IF sy-subrc EQ 0 AND
          ls_recipients-uname IS NOT INITIAL.
          INSERT ls_recipients INTO TABLE lt_recipients.
        ENDIF.
      ENDLOOP.
    * don't send the alert twice to the same user
      SORT lt_recipients BY uname.
      DELETE ADJACENT DUPLICATES FROM lt_recipients COMPARING uname.
    * supply key information
      READ TABLE lt_orderadm_h_ref INTO ls_orderadm_h_ref INDEX 1.
      IF sy-subrc EQ 0.
        lv_guid_32 = ls_orderadm_h_ref-guid.
        CALL FUNCTION 'SWC_ELEMENT_SET'
          EXPORTING
            element   = 'OBJKEY_GUID'
            field     = lv_guid_32
          TABLES
            container = lt_container
          EXCEPTIONS
            OTHERS    = 1.
        CALL FUNCTION 'SWC_ELEMENT_SET'
          EXPORTING
            element   = 'OBJKEY_BOR_OBJECT'
            field     = lv_guid_32
          TABLES
            container = lt_container
          EXCEPTIONS
            OTHERS    = 1.
        CALL FUNCTION 'SWC_ELEMENT_SET'
          EXPORTING
            element   = 'OBJKEY_BOR_OBJECT_TYPE'
            field     = ls_orderadm_h_ref-object_type
          TABLES
            container = lt_container
          EXCEPTIONS
            OTHERS    = 1.
        CALL FUNCTION 'SWC_ELEMENT_SET'
          EXPORTING
            element   = 'OBJKEY_LOGICAL_SYSTEM'
            field     = ls_orderadm_h_ref-logical_system
          TABLES
            container = lt_container
          EXCEPTIONS
            OTHERS    = 1.
      ENDIF.
    * trigger alert
    *{   INSERT         CRDK903440                                        1
    data: object_id(10) type c.
    data: lt_date_wrkt type CRMT_DATES_WRKT.
    data: wa_date_wrk type CRMT_DATES_WRK.
    data: lt_date type CRMT_DATE_WRKT.
    data: wa_date type CRMT_DATE_WRK.
    data: ZTASK_PLAN type SC_DATEFRO.
    data: ZTASK_REQUIR type SC_DATEFRO.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
      EXPORTING
        input         = ls_orderadm_h_ref-object_id
    IMPORTING
       OUTPUT        = object_id.
    * document number
    CALL FUNCTION 'SWC_ELEMENT_SET'
      EXPORTING
        element             = 'OBJECT_ID'
        field               = object_id
      tables
        container           = lt_container
      EXCEPTIONS
        TYPE_CONFLICT       = 1
        OTHERS              = 2.
    *document description
    CALL FUNCTION 'SWC_ELEMENT_SET'
      EXPORTING
        element             = 'OBJECT_DESCRIPTION'
        field               = ls_orderadm_h_ref-description
      tables
        container           = lt_container
      EXCEPTIONS
        TYPE_CONFLICT       = 1
        OTHERS              = 2.
    *document dates
    refresh lt_date_wrkt.
    CALL FUNCTION 'CRM_DATES_READ_DB'
      EXPORTING
        IV_REF_GUID                         = ls_orderadm_h_ref-guid
        IV_REF_KIND                         = 'A'
      IMPORTING
        ET_DATE_WRKT                        = lt_date_wrkt
      EXCEPTIONS
        PARAMETER_ERROR                     = 1
        ENTRY_DOES_NOT_EXIST                = 2
        AT_LEAST_ONE_RECORD_NOT_FOUND       = 3
        OTHERS                              = 4.
    refresh lt_date.
    CALL FUNCTION 'CRM_DATES_READ_SINGLE_OW'
      EXPORTING
        iv_ref_guid                = ls_orderadm_h_ref-guid
        iv_ref_kind                = 'A'
    *   IS_LOGICAL_DATE_KEY        =
      IMPORTING
    *   ES_DATE_WRK                =
       ET_DATE_WRK                = lt_date
      EXCEPTIONS
        LINK_DOES_NOT_EXIST        = 1
        ENTRY_DOES_NOT_EXIST       = 2
        OTHERS                     = 3.
    clear wa_date.
    read table lt_date
    with key APPT_TYPE = 'ORDERPLANNED'
    into wa_date.
    ZTASK_PLAN = wa_date-date_from.
    if wa_date is initial.
    clear wa_date_wrk.
    read table lt_date_wrkt
    with key APPT_TYPE = 'ORDERPLANNED'
    into wa_date_wrk.
    ZTASK_PLAN = wa_date_wrk-date_from.
    endif.
    clear wa_date.
    read table lt_date
    with key APPT_TYPE = 'ZTASK_REQUIR'
    into wa_date.
    ZTASK_REQUIR = wa_date-date_from.
    if wa_date is initial.
    clear wa_date_wrk.
    read table lt_date_wrkt
    with key APPT_TYPE = 'ZTASK_REQUIR'
    into wa_date_wrk.
    ZTASK_REQUIR = wa_date_wrk-date_from.
    endif.
    CALL FUNCTION 'SWC_ELEMENT_SET'
      EXPORTING
        element             = 'ORDERPLANNED'
        field               = ZTASK_PLAN
      tables
        container           = lt_container
      EXCEPTIONS
        TYPE_CONFLICT       = 1
        OTHERS              = 2.
    CALL FUNCTION 'SWC_ELEMENT_SET'
      EXPORTING
        element             = 'ZTASK_REQUIR'
        field               = ZTASK_REQUIR
      tables
        container           = lt_container
      EXCEPTIONS
        TYPE_CONFLICT       = 1
        OTHERS              = 2.
    *}   INSERT
      CALL FUNCTION 'SALRT_CREATE_API'
        EXPORTING
          ip_category            = lv_category
          ip_wait_on_commit      = false
        TABLES
          it_recipients          = lt_recipients
          it_container           = lt_container
        EXCEPTIONS
          alert_category_unknown = 1
          alert_no_recipients    = 2
          alert_error_unknown    = 3
          destination_undefined  = 4
          communication_failure  = 5
          system_failure         = 6
          OTHERS                 = 7.
      IF sy-subrc NE 0.
    *   write message into ppf-log
        CALL METHOD cl_log_ppf=>add_message
          EXPORTING
            ip_problemclass = '2'
            ip_handle       = ip_application_log.
    *   set return status
        rp_status = '2'.
        EXIT.
      ENDIF.
    * register new document for saving
      CALL METHOD me->register_for_save
        EXPORTING
          iv_source_header_guid = lv_header_ref
          iv_recursive_det      = false
          ii_container          = ii_container
          ip_application_log    = ip_application_log
        IMPORTING
          rp_status             = rp_status.
    ENDMETHOD.                    "

  • Error when defining successor for node 0000000198

    Hello ,
    We are using leave request service on ESS portal.
    From last few days we are getting error like " Error when defining successor for node 0000000198   "
    All agents are assigned properly and also v have checked PFTC setting for Workflow.
    the method which are using is Synchrounous.
    this error is nt coming perticulary for one employee but it is coming for sick leave workflow.
    Please help
    thanks

    Hi,
    This is a binding issue between the workflow container and the task 
    container because we can see the text in the workflow container but 
    it is empty in the task container.
    Our proposed solution is to go into the Dev or QAS environment and 
    regenerate the binding between the workflow and this particular task. 
    We will test and if this works, this will resolve issue.

  • UserManager's Create, CreateAsync and FindAsync methods giving "Incorrect number of arguments for call to method Boolean Equals(...)"

    I've made custom User and UserStore classes.
    Now I'm trying to register or login with a user, but I get the error
    'Incorrect number of arguments supplied for call to method Boolean Equals(System.String, System.String, System.StringComparison)'
    The error is on line 411:
    Line 409: }
    Line 410: var user = new User() { UserName = model.Email, Email = model.Email };
    --> Line 411: IdentityResult result = await UserManager.CreateAsync(user);
    Line 412: if (result.Succeeded)
    Line 413: {
    The problem is that I can't really debug UserManager's methods, because it is in a closed DLL.
    I get this same error on
    UserManager.FindAsync(user), UserManager.CreateAsync(user,password), UserManager.Create(User user)
    Now the error doesn't occur when I log in with an External Login, like Google, which also uses methods from UserManager. Entering the email works
    as well, but when the user has to be created from an External Login with the inserted email, it gives the CreateAsync error
    too.
    How can I fix this? Do I need to create my own UserManager? Or do I need another solution entirely?
    Packages (relevant):
    package id="Microsoft.AspNet.Mvc" version="5.1.2"
    id="Microsoft.Owin" version="2.1.0"
    id="Microsoft.AspNet.Identity.Core" version="2.0.1"
    UserStore.cs
    public class UserStore :
    IUserStore<User, int>,
    IUserPasswordStore<User, int>,
    IUserSecurityStampStore<User, int>,
    IUserEmailStore<User, int>,
    IUserLoginStore<User, int>
    private readonly NFCMSDbContext _db;
    public UserStore(NFCMSDbContext db)
    _db = db;
    public UserStore()
    _db = new NFCMSDbContext();
    #region IUserStore
    public Task CreateAsync(User user)
    if (user == null)
    throw new ArgumentNullException("user");
    _db.Users.Add(user);
    _db.Configuration.ValidateOnSaveEnabled = false;
    return _db.SaveChangesAsync();
    public Task DeleteAsync(User user)
    if (user == null)
    throw new ArgumentNullException("user");
    _db.Users.Remove(user);
    _db.Configuration.ValidateOnSaveEnabled = false;
    return _db.SaveChangesAsync();
    public Task<User> FindByIdAsync(int userId = 0)
    int userid;
    if (userId == 0)
    throw new ArgumentNullException("userId");
    return _db.Users.Where(u => u.UserId == userId).FirstOrDefaultAsync();
    User.cs
    public class User : IUser<int>
    public User()
    UserLogins = new List<UserLogin>();
    public int UserId { get; set; }
    public string UserName { get; set; }
    public string PasswordHash { get; set; }
    public string SecurityStamp { get; set; }
    public string Email {get; set; }
    public bool IsEmailConfirmed { get; set; }
    int IUser<int>.Id
    get { return UserId; }
    public ICollection<UserLogin> UserLogins { get; private set; }
    public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<User, int> manager)
    // Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
    var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
    // Add custom user claims here
    return userIdentity;
    Startup.Auth.cs
    public partial class Startup
    // For more information on configuring authentication, please visit http://go.microsoft.com/fwlink/?LinkId=301864
    public void ConfigureAuth(IAppBuilder app)
    // Configure the db context and user manager to use a single instance per request
    app.CreatePerOwinContext(NFCMSDbContext.Create);
    app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create);
    // Enable the application to use a cookie to store information for the signed in user
    // and to use a cookie to temporarily store information about a user logging in with a third party login provider
    // Configure the sign in cookie
    app.UseCookieAuthentication(new CookieAuthenticationOptions
    AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
    LoginPath = new PathString("/Account/Login"),
    Provider = new CookieAuthenticationProvider
    OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, User, int>(
    validateInterval: TimeSpan.FromMinutes(20),
    regenerateIdentityCallback: (manager, user) => user.GenerateUserIdentityAsync(manager),
    getUserIdCallback: (id) => (Int32.Parse(id.GetUserId())))
    // Use a cookie to temporarily store information about a user logging in with a third party login provider
    app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie); (...)
    Any help or ideas are greatly appreciated!
    Kind regards,
    Nils

    Hi,
    According to your description, I am afraid your problem is out of support in C# forum. For ASP.NET question, please go to
    ASP.NET Forum to post your thread.
    Best Wishes!
    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. Thanks<br/> MSDN Community Support<br/> <br/> Please remember to &quot;Mark as Answer&quot; the responses that resolved your issue. It is a common way to recognize those who have helped you, and
    makes it easier for other visitors to find the resolution later.

  • Urgent clearing data in container for free text

    I HAVE A CONTAINER FOR FREE TEXT.
    I HAVE A CREATE BUTTON IN MY SCREEN EWHEN I PRESS CREATE IT ASKD FOR ID AND FREE TEXT THEN I SAVE  AND IT GETS SAVED IN A ZTALE TABLE.
    WHEN AFTER SAVING IT I GO TO INITIAL SCREEN AND PRESS CREATE AGAIN THEN IT ASKS FOR ID AND IN THE CONTAINER I SEE THE FPREVIOUS TEXT.
    CAN YOU GUYS LET ME KNOW AS TO WHAT I NEED TO DO.
    I TREID CLEARING AND REFRESHING MYTABLE WHICH I HAVE USED IN THE FOLLOWING CODE.
    pbo
    if editor is initial.
    CREATE OBJECT TEXTEDIT_CUSTOM_CONTAINER
    EXPORTING
    CONTAINER_NAME = 'TEXTEDITOR1'
    EXCEPTIONS
    CNTL_ERROR = 1
    CNTL_SYSTEM_ERROR = 2
    CREATE_ERROR = 3
    LIFETIME_ERROR = 4
    LIFETIME_DYNPRO_DYNPRO_LINK = 5.
    IF SY-SUBRC NE 0.
    add your handling
    ENDIF.
    CREATE OBJECT EDITOR
    EXPORTING
    PARENT = TEXTEDIT_CUSTOM_CONTAINER
    WORDWRAP_MODE = CL_GUI_TEXTEDIT=>WORDWRAP_AT_FIXED_POSITION
    WORDWRAP_TO_LINEBREAK_MODE = CL_GUI_TEXTEDIT=>FALSE
    EXCEPTIONS
    OTHERS = 1.
    refresh mytable.
    call METHOD editor->SET_TOOLBAR_MODE
    EXPORTING TOOLBAR_MODE = 0.
    *call METHOD editor->SET_ENABLE
    *EXPORTING ENABLE = ' '.
    CALL METHOD editor->set_readonly_mode
    EXPORTING
    readonly_mode = 1.
    ENDIF.
    CLEAR MYTABLE.
    FREE MYTABLE.
    endif.
    IF SY-SUBRC NE 0.
    CALL FUNCTION 'POPUP_TO_INFORM'
    EXPORTING
    TITEL = V_REPID "--> program name
    TXT2 = SPACE
    TXT1 = 'Error in flush'.
    ENDIF.
    tHANKS
    let me know
    swathi

    For example, this program works really well with saving long text using the SAVE_TEXT function.  Here you need to create the object/id in SE75.  For this program you enter the id on the right like 999999 and enter the text on the left, execute and the text is saved, now change the id to 999998 and hit enter, notice the text is blank, now enter 999999 again, notice the text for this id has come back,  this is because the program uses READ_TEXT to retrieve the text.
    report zrich_0001.
    data:
          dockingleft  type ref to cl_gui_docking_container,
          text_editor    type ref to cl_gui_textedit,
          repid type syrepid.
    data: begin of header.
            include structure thead.
    data: end of header.
    data: begin of lines occurs 0.
            include structure tline.
    data: end of lines.
    data: textlines type table of tline-tdline,
          wa_text type tline-tdline.
    data: xthead type thead.
    parameters: p_id(10) type c.
    at selection-screen.
      if p_id is initial.
        message e001(00) with 'Enter an ID'.
      endif.
    at selection-screen output.
      repid = sy-repid.
      if dockingleft is initial.
        create object dockingleft
                    exporting repid     = repid
                              dynnr     = sy-dynnr
                              side      = dockingleft->dock_at_left
                              extension = 300.
        create object text_editor
                    exporting
                         parent     = dockingleft.
      endif.
      if p_id <> space.
        xthead-tdobject = 'ZPT_DET'.
        xthead-tdid     = 'Z001'.
        xthead-tdname = p_id.
        clear lines. refresh lines.
        call function 'READ_TEXT'
          exporting
            id                            = xthead-tdid
            language                      = sy-langu
            name                          = xthead-tdname
            object                        = xthead-tdobject
          tables
            lines                         = lines
         exceptions
           id                            = 1
           language                      = 2
           name                          = 3
           not_found                     = 4
           object                        = 5
           reference_check               = 6
           wrong_access_to_archive       = 7
           others                        = 8.
        clear textlines.
        loop at lines.
          wa_text = lines-tdline.
          append wa_text to textlines.
        endloop.
      endif.
      call method text_editor->set_text_as_r3table
         exporting
               table              = textlines
         exceptions
               others             = 1.
    start-of-selection.
      call method text_editor->get_text_as_r3table
         importing
               table              = textlines
         exceptions
               others             = 1.
    * Set SAPscript Header
      clear header.
      header-tdname =  p_id .         "Name
      header-tdobject = 'ZPT_DET'.       "Object
      header-tdid = 'Z001'.              "Id
      header-tdspras = sy-langu.
    * Move text from container to function module table
      clear  lines.  refresh lines.
      loop at textlines into wa_text .
        lines-tdline = wa_text.
        append lines .
      endloop.
      call function 'SAVE_TEXT'
           exporting
                client   = sy-mandt
                header   = header
           tables
                lines    = lines
           exceptions
                id       = 1
                language = 2
                name     = 3
                object   = 4
                others   = 5.
    Yes, this is implemented using a selection screen, but the same principals apply and this can  be easily converted to a dynpro application.
    Regards,
    Rich Heilman

Maybe you are looking for

  • Null pointer Exception with Float.parseFloat

    I need to assign a float value from a database to a variable recurrently throughout a while loop. but i am getting a null pointer exception error: while ( rs.next() )      out.println("<TR>");           float corr = Float.parseFloat((String) request.

  • Where can i buy a rubber bottom cover for my white macbook?

    rubber backing off bottom cover has come away, no longer under warranty mac doctor store nearby wont just sell me the part, want me to pay over $100 labour to install it (8 screws removed and replaced) Anyone know if/where i can buy a part to install

  • Regarding workflow jumps

    Hi All, We have workflow scenario like this 1.Each step has a workflow approval limit for 5 days.If within 5 days the specified reviewer doesn't approve .Then mail will be notified to the respective reviewers and manager as well. For this we in the u

  • Office:mac 2008 Word Question

    We just purchased Office:mac 2008 Home and Student Edition. I thought I could convert text to Chinese; however, it is not highlighted as an option (greyed out). Does anyone know how I can activate this?

  • Can I download apps to your apple product using iTunes on the computer?

    Is it possible to download apps on itunes using the computer?