How to change the reason in a ICWC-followup-process with the copying-BAdI?

Hi all,
I want to use the followup- and docflow-functionality in ICWC to copy most of the information from one process to another.
I made the definition of a copying control in the customizing -> working with a new BAdI and the copying routine. Everything works fine so far: I can get/change the description in the BAdIs ORDERADM_H method or the ibase information REFOBJ method for examples.
The question is now how to get/change the reason of the process?
Working with the genil_model_browser the reason is located in BTOrderHeader->BTHeaderBOSSet->BTSubjectSet_F->BTSubject_A1. Where can I find the reason in the BAdI methods?
Thanks for your help.
Regards,
Benjamin

Hi
Put a break point in crm_order_maintain to see what structures and fields you need to fill out.  Then change the reason code in crm online, you will have all the data you need.
Here is some code I used in the he badi order_save, method prepare.
  data:
    IV_REF_HANDLE     TYPE     CRMT_HANDLE,
    IV_REF_GUID     TYPE     CRMT_OBJECT_GUID,
    IV_REF_KIND     TYPE     CRMT_OBJECT_KIND,
    IS_SRV_OSSET_COM     TYPE     CRMT_SRV_OSSET_COM2,
    IT_SRV_REFOBJ_COM     TYPE     CRMT_SRV_REFOBJ_COMT,
    IT_SRV_SUBJECT_COM     TYPE     CRMT_SRV_SUBJECT_COMT,
    is_srv_subject_com type CRMT_SRV_SUBJECT_COM,
    ET_SRV_OSSET_COMT     TYPE     CRMT_SRV_OSSET_COMT,
    LT_SRV_OSSET_COMT     TYPE     CRMT_SRV_OSSET_COMT,
    ET_INPUT_FIELDS     TYPE      CRMT_INPUT_FIELD_TAB,
    ET_EXCEPTION TYPE  CRMT_EXCEPTION_T,
    tab_osset type CRMT_SRV_OSSET_COMT1,
    wa_osset like line of tab_osset,
    wa_srv like line of ET_SRV_OSSET_COMT,
    new_srv type CRMT_SRV_OSSET_COMT,
    call_list_name type char50,
    query_text(80).
  refresh: ET_INPUT_FIELDS,
                   IT_SRV_SUBJECT_COM.
          clear: is_srv_subject_com,
                 IS_SRV_OSSET_COM.
          IV_REF_KIND = 'A'.
          iv_ref_guid = iv_guid.
          IS_SRV_OSSET_COM-SUBJECT_PROFILE = 'Z00000002'.
          IS_SRV_OSSET_COM-PROFILE_TYPE = 'F'.
          is_srv_subject_com-ref_handle = '0000000002'.
          is_srv_subject_com-KATALOGART = 'A1'.
          is_srv_subject_com-CODEGRUPPE = 'Z0000002'.
          is_srv_subject_com-CODE = 'ZAA'.
          is_srv_subject_com-DEFQUANTITY = 0.
          is_srv_subject_com-MODE = 'A'.
          append is_srv_subject_com to IT_SRV_SUBJECT_COM.
          CALL FUNCTION 'CRM_SERVICE_OS_SET_DATA'
            EXPORTING
              IV_REF_GUID        = iv_ref_guid
              IV_REF_KIND        = 'A'
              IS_SRV_OSSET_COM   = IS_SRV_OSSET_COM
              IT_SRV_SUBJECT_COM = IT_SRV_SUBJECT_COM
            IMPORTING
              ET_SRV_OSSET_COMT  = et_srv_osset_comt
            EXCEPTIONS
              ERROR_OCCURRED     = 1
              INVALID_GUID       = 2
              NO_RECORD_EXIST    = 3
              OTHERS             = 4.
          IF SY-SUBRC <> 0.
          ENDIF.
          CALL FUNCTION 'CRM_SERVICE_OS_PUT_DATA'
            IMPORTING
              ET_SRV_OSSET_COM = et_srv_osset_comt
              ET_INPUT_FIELDS  = ET_INPUT_FIELDS.
          read table LT_SRV_OSSET_COMT index 1 into wa_srv.
          if sy-subrc = 0.
            tab_osset[] = wa_SRV-osset[].
          endif.
          loop at ET_SRV_OSSET_COMT into wa_srv.
            append lines of tab_osset to wa_srv-osset.
          endloop.
          append wa_srv to new_srv.
        else.
          new_srv[] = LT_SRV_OSSET_COMT[].
        endif.
        CALL FUNCTION 'CRM_ORDER_MAINTAIN'
          EXPORTING
            IT_SERVICE_OS     = new_srv
          IMPORTING
            ET_EXCEPTION      = et_exception
          CHANGING
            CT_INPUT_FIELDS   = ET_INPUT_FIELDS
          EXCEPTIONS
            ERROR_OCCURRED    = 1
            DOCUMENT_LOCKED   = 2
            NO_CHANGE_ALLOWED = 3
            NO_AUTHORITY      = 4
            OTHERS            = 5.

Similar Messages

  • Does anyone know how to change the copy on a pdf made in Indesign?  I don't have that software on my Mac

    Does anyone know how to change the text on a pdf made in Indesign when my Mac doesn't have that software?   Thanks,

    If you don't have access to Acrobat Pro or Nitro PDF Pro,  see this article:
    http://www.labnol.org/software/edit-pdf-files/10870/

  • HOW TO CHANGE THE USEFUL LIFE FOR MORE ASSETS AT A TIME FOR ASSET CLASS

    Hi All,
    Asset which is under Asset Class Support system-B700. Here every thing is ok but the problem in USE FULL LIFE which is come by default. It must be 4 instead of  5.   So can any body help me out from this how to change the Useful life in that Asset class.  In that Asset Class we have the morethan 200 Assets. It was happend in Prdocution system so now the problem is where i can change the useful life for the asset class either in DEV or PRD.
           Also i want to know the information of How these assets are Uploaded into the system (Lsmw or etc). this is very urgent for me.
    Thanks in Advance,
    Regards,
    Siva.

    Hi Ashok,
         Can i know the reason how it was happend. i mean instead of 4 years the system showing is 5yesrs any reason is there behind that.
    Thanks in Advance.

  • How to change the components in a visible JPanel?

    How to change the components in a visible JPanel?
    Is there any way to change the components in a JPanel while it is already visible in a JFrame? I tried the na�ve approach of removing the components and adding new ones, but the effect is not the expected.
    For now I'm opening new frames with newly created panels.

    After adding/removing components to/from a panel try:
    panel.revalidate();
    panel.repaint() // sometimes this is also needed, I'm
    not sure whyI'm not certain, but I think that panel.revalidate() implicitly calls repaint() only if something actually changed in the layout. If nothing changed, it sees no reason to repaint; hence, if something changed in appearance but not in layout, you have to repaint it yourself.
    Or something like that. I'm no expert. ;)

  • How to change the status of test cases in Test Plan from Design to Ready using Excel VBA

    HI,
    How to change the status of test cases in Test Plan from Design to Ready using Excel VBA

    Thanks Florin,
    Your piece of code has worked alot, and it was very helpful in changing the Status of the Workitem to "READY" for all the Users fo the workitem.
    Points have been rewarded for your help.
    Process: We have acheived this using the "Work Item Exits", Usng "AFTER_EXECUTION" Method.
    Note: The Exit will be executed if "exit_cancelled"  statement is present/used in the work item method. if not it is not taking to the exit code. I'm unable to find the reason for it. Florin can u please explain this point.
    Please check the link for adding the code in Work Item Exits.
    http://wiki.sdn.sap.com/wiki/display/ABAP/ProgramExitsIn+Workflow
    Please find the Code:
    method IF_SWF_IFS_WORKITEM_EXIT~EVENT_RAISED.
    Get the context of the workitem
      me->wi_context = im_workitem_context.
    After execution of the workitem call the method AFTER_EXECUTION
      if im_event_name eq swrco_event_after_execution.
        me->after_execution( ).
      endif.
    endmethod.
    METHOD AFTER_EXECUTION.
    This method acts as the Event Handler for SWRCO_EVENT_AFTER_EXECUTION
      DATA: LCL_L_WID TYPE SWW_WIID,
            L_STATUS TYPE SWR_WISTAT-STATUS,
            L_NEW_STATUS  TYPE SWR_WISTAT,
            L_SWR_MESSAG  TYPE STANDARD TABLE OF SWR_MESSAG,
            L_SWR_MSTRUC  TYPE STANDARD TABLE OF SWR_MSTRUC.
    Get work item
      CALL METHOD WI_CONTEXT->GET_WORKITEM_ID
        RECEIVING
          RE_WORKITEM = LCL_L_WID.
      L_STATUS = 'READY'.
      CALL FUNCTION 'SAP_WAPI_SET_WORKITEM_STATUS'
        EXPORTING
          WORKITEM_ID    = LCL_L_WID
          STATUS         = L_STATUS
          USER           = SY-UNAME
          LANGUAGE       = SY-LANGU
          DO_COMMIT      = 'X'
        IMPORTING
          NEW_STATUS     = L_NEW_STATUS
         RETURN_CODE    = SY-SUBRC
        TABLES
          MESSAGE_LINES  = L_SWR_MESSAG
          MESSAGE_STRUCT = L_SWR_MSTRUC.
      IF SY-SUBRC EQ 0.
      ENDIF.
    ENDMETHOD.
    Thank You Once Again,
    Ajay Kumar Chippa

  • How to change the angle of a gradient layer without changing anything else?

    How to change the angle of a gradient layer without changing anything else?
    When I try it myself my whole gradient turns black.

    To add to the above, you can not just set the angle. If you want to use other existing settings you need to get them from the layer. The code in that other thread shows one way to get them.
    But if you do not need the existing values for any other reason you can get the descriptor for the layer, make a duplicate of it with all the settings and just overwrite the ones you want to change.
    This is one way to just change the angle while keeping the other existing settings.
    // helper function for working with descriptors
    function getProperty( psClass, psKey, index ){// integer:Class, integer:key
        var ref = new ActionReference();
        if( psKey != undefined ) ref.putProperty( charIDToTypeID( "Prpr" ), psKey );
        if(index != undefined ){
            ref.putIndex( psClass, index );
        }else{
            ref.putEnumerated( psClass , charIDToTypeID( "Ordn" ), charIDToTypeID( "Trgt" ) );
        try{
            var desc = executeActionGet(ref);
        }catch(e){ return; }// return on error
        if(desc.count == 0) return;// return undefined if property doesn't exists
        var dataType = desc.getType(psKey);
        switch(dataType){// not all types supported - returns undefined if not supported
            case DescValueType.INTEGERTYPE:
                return desc.getInteger(psKey);
                break;
            case DescValueType.ALIASTYPE:
                return desc.getPath(psKey);
                break;
            case DescValueType.BOOLEANTYPE:
                return desc.getBoolean(psKey);
                break;
            case DescValueType.BOOLEANTYPE:
                return desc.getBoolean(psKey);
                break;
            case DescValueType.UNITDOUBLE:
                return desc.getUnitDoubleValue(psKey);
                break;
            case DescValueType.STRINGTYPE:
                return desc.getString(psKey);
                break;
            case  DescValueType.OBJECTTYPE:
                return desc.getObjectValue(psKey);
                break;
            case  DescValueType.LISTTYPE:
                return desc.getList(psKey);
                break;
            case  DescValueType.ENUMERATEDTYPE:
                return desc.getEnumerationValue(psKey);
                break;
    function duplicateDescriptor( descriptor ) {
        var newDescriptor = new ActionDescriptor;
        newDescriptor.fromStream( descriptor.toStream() );
        return newDescriptor;
    function localizeDescriptor( desc ) {
        var stream, pointer, zStringLength, zstring, localized_string, newZStringLength, previousStream, followingStream, newDesc;
        stream = desc.toStream();
        while( true ) {
            pointer = stream.search(/TEXT....\x00\$\x00\$\x00\$/);
            if( pointer === -1 ) {
                break;
            zStringLength = getLongFromStream( stream, pointer + 4 );
            zstring = readUnicode( stream.substr( pointer + 8, ( zStringLength - 1 ) * 2) );
            localized_string = ( localize( zstring ) ) + '\u0000';
            newZStringLength = localized_string.length;
            previousStream = stream.slice( 0, pointer);
            followingStream = stream.slice( pointer + 8 + zStringLength * 2);
            stream = previousStream.concat( 'TEXT', longToString( newZStringLength ), bytesToUnicode( localized_string ), followingStream );
        newDesc = new ActionDescriptor();
        newDesc.fromStream( stream );
        return newDesc;
    function getShortFromStream( stream, pointer ) {
        var hi, low;
        hi = stream.charCodeAt( pointer ) << 8 ;
        low = stream.charCodeAt( pointer + 1 );
        return hi + low;
    function getLongFromStream( stream, pointer ) {
        var hi, low;
        hi = getShortFromStream( stream, pointer) << 16;
        low = getShortFromStream( stream, pointer + 2);
        return hi + low;
    function readUnicode( unicode ) {
        var string = "";
        for( i = pointer = 0; pointer < unicode.length; i = pointer += 2) {
            string +=String.fromCharCode( getShortFromStream( unicode, pointer ) );
        return string;
    function longToString( longInteger ) {
        var string;
        string = String.fromCharCode( longInteger >>> 24 );
        string += String.fromCharCode( longInteger << 8 >>> 24 );
        string += String.fromCharCode( longInteger << 16 >>> 24 );
        string += String.fromCharCode( longInteger << 24 >>> 24 );
        return string;
    function bytesToUnicode( bytes ) {
        var unicode = "", char_code, charIndex;
        for( charIndex  = 0; charIndex < bytes.length; charIndex ++ ) {
            char_code = bytes.charCodeAt( charIndex );
            unicode += String.fromCharCode(char_code >> 8 ) +  String.fromCharCode( char_code & 0xff );
        return unicode;
    function setGradientAdjustmentAngle( angle ) {
        var adjustmentDesc = getProperty( charIDToTypeID("Lyr "), charIDToTypeID( 'Adjs' ) ).getObjectValue(0);
        var newAdjustmentDesc = duplicateDescriptor( adjustmentDesc );
        newAdjustmentDesc.putUnitDouble( charIDToTypeID('Angl'), charIDToTypeID('#Ang'), angle );
        var desc = new ActionDescriptor();
            var ref = new ActionReference();
            ref.putEnumerated( stringIDToTypeID('contentLayer'), charIDToTypeID('Ordn'), charIDToTypeID('Trgt') );
        desc.putReference( charIDToTypeID('null'), ref );
        desc.putObject( charIDToTypeID('T   '), stringIDToTypeID('gradientLayer'), newAdjustmentDesc);
        executeAction( charIDToTypeID('setd'), desc, DialogModes.NO );
    var newAngle = 45;
    setGradientAdjustmentAngle( newAngle );

  • How to change the font used to fill in a text field.

    Can you please tell me how to change the font that comes up when a text field is filled in?
    Can I change this setting in InDesign or does it have to be done in Acrobat?

    It must be done in Acrobat. InDesign only allows Times Roman for some reason.
    To change it in Acrobat 11, open the PDF and select: Tools > Forms > Edit
    and select the field(s) you want to change, bring up the field properties dialog, and look on the Appearance tab for the font dropdown.

  • How to change the tabbing order of an array of clusters?

    How to change the tabbing order of an array of clusters?  I have the cluster arranged in table in the front panel.   The cluster element goes horizontal and array element goes vertically.   When I press the tab key, the cursor goes to the next array element instead of the next cluster item (down instead across).
    Solved!
    Go to Solution.

    Broken Arrow wrote:
    Harold asked a perfectly reasonable and necessary question, but how is that a Solution ???
    I believe it is called the Socratic Method.
    Sea-Story time
    I had the privledge of working for Ron Davis when he managed the Allegheny District of DEC. He was an ex-WO4 (Highest possilbe rank for non-commisioned officer in US Navy, required act of congress to confirm).
    Ron never answered any question I ever saw presented to him. I remember a group of managers in a frenzy over some issue  running to him to to see what he thought. He asked them a series of questions that lead them to the solution and soon they were smiling and slapping each other on the back as they walked away.
    Who is that has a signature that read "it is the questions that guide us"?
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • How to change the Org Data depending on the Person Responsible?

    Hi Group,
    I have a requirement relating to Org data changing as :
    while creating the activities in CRM, by default I was getting the <b>Org data</b> for the person responsible ( whoever has created the <b>Activity</b> ).
    there is a provision that, we can change the <b>Person Responsible</b> for the Activity.
    and when the <b>Person Resp</b> is changed, the <b>Org data</b> also to be changed accordingly....
    But, this was not happening due to some technical reasons....
    So please give me some inputs as how to change the <b>Org data</b> according to the changes to the <b>Person Resp</b>.
    Thanks in advance.
    Regards,
    Vishnu.

    for this u have to maintain the rules profiles and attach this to transaction type for header or item category
    documentaion is there
    spro ->MD->org managment ->org data deter -->change rules and profiles

  • How to change the "short name (account name?)" and home directory name?

    Hi,
    I recently purchased a new iMac and migrated account info from my MacBook Pro.  I happened to use random account name during migration without knowing it will not be easy to change the short name (account name?) and home directory name.  As a result, I am now having extremely confusing short name and home directory name on my new iMac.
    I did online search to find out how to change the two names, but I could only found somethig like "enabiling root user and....."  I have no idea what it was talking about and I don't want to take risk altering such advance set up manually.
    Please advice how I can change the short name and home directory name safely without much PC knowledge.
    Thank you very much in advance.

    There are a few ways of doing this. The easiest method is logging into the first account and copying everything to an external drive (or flash drive or whatever), which changes the permissions so that others can see the files.
    Then, login with the new account and copy the files over. Once they are copied, the correct permissions will be applied again (so other people on your computer can't access them).
    If you can't do this method for one reason or other, you can do some terminal commands to change the ownership of the files. Login to the new account. If it is an admin account, open terminal and type the following command:
    sudo chown -R -v yourusername:admin /Users/originalaccountnamehere
    That should change the ownership of the files from your old account to the new one. At that point, you can simply drag the files into place.

  • How to change the "content created" date/time in FCPX?

    Since I've had problems importing my whole iMovie event library into FCPX I decided to run some tests with importing individual files (part of iMovie events and originally imported from camera into iMovie). Some of them for some reason got the wrong "content created" date/time in them while in iMovie they have the right date/time set. Does anybody have an idea on how to change the "content created" timestamp?

    I had a bunch of DV files that imported stamped with the file modification date and time.  I did not find a way to change it in FCPX. With FCPX not running, I used A Better Finder Attributes to modify the creation and modification dates of the files in the event folder. FCPX reconnected to them but the event still showed the old range of dates so I created a new event and moved the clips to it. Maybe ther is a beter way but that is how I did it.

  • How to change the Window Title on a per build spec basis?

    I would like to be able to make 4 "build specificiations" against the same Startup-VI and be able to have the Window Title different in each of the output executables.   I know how to change the Window Title for the VI itself, but for some reason, I don't see the ability to override this information in Source File Settings --> Customize VI Properties dialog of the build specification.    Is there perhaps a way to do this programattically with VI server?  Perhaps there is a way I can define a unique symbol on each of the build specs and then do a case statement in code to determine which title to display based on the symbol that was defined?
    Thanks,

    You can use the appropriately named Window Title property. In your project you can define conditional disable symbols (right-click on the project node and select Properties) and then use a conditional disable structure in your code. However, these symbols apply to the entire project, not to a specific executable. Thus, a better route would be to use the executable name (also accessible via a property), if possible, or some other distinction between the executables. What makes the executables different?

  • How to change the update servers target location?

    Hi i just bought a used MacBook from a friend i have been having a problem when trying to use the software update. when i click on software update it says it can not connect to the update server and that i should use network diagnostics. when i click on it it says network seems to be fine but on the left side it shows a red light where server is and says failed i click on run diagnostics and it says "network diagnostics was able to connect to the internet but not to the server "(not showing the server for privacy reasons)" This could be caused by problems with the server, or an internet problem between this computer and the server."
    The server name which i did not list was my friends old job server. i just want to know how to change the update servers target location so it will stop trying to connect to his jobs server so it will allow me to update my software from my home wifi thanks

    Your friend has configured this computer in some way to prevent a user from accessing Apple's update servers. This was probably done for security purposes. You might check if the firewall has been activated - Open the Security preferences, click on the Firewall tab. If the firewall is turned on, then turn it off. This should fix the problem.
    However, if your friend has made other modifications, then you will need to ask him/her what you will need to do to remove them.

  • How to change the task type of bdoc in sap crm

    Dear CRM Experts,
    I am new to CRM. Want to know how to change the task type  of Bdoc from update to insert. I am gettind B doc error due to the reason that under object_task the entry is U , whereas i have to change it to I (insert).
    Pls provide deatil answer. Points will be given.
    Regards
    Rajat
    Edited by: Gurinder Pal Singh on Jul 21, 2011 10:17 AM

    Hello Rajat,
    Please provide us more information about the error you have and it's description so that we can help here arounfd here.
    thanks
    Willie

  • HT204266 How to change the security questions if i forgot the answers?

    How to change the security questions if i forgot the answers?

    Click here for information. If you can't get the answers emailed to you for some reason(the email may take a few hours to arrive), contact the iTunes Store staff via the link in that article.
    (84812)

Maybe you are looking for

  • DVI + Audio to HDMI adapter

    Friends, I have seen many posts related to this topic but couldn't find a suitable solution and hence here comes the question again. "Is there an adapter that can take 3.5mm audio and DVI input and give me a HDMI audio+video output?" Specifically, I

  • Word report generation toolkit error with Win 7 LabVIEW 2013, Word2010

    Hi All I'm seeing different Errors using the Report generation toolkit. Maybe you can help me with that. The errors are: -2147417846, application is busy in Word_Get_range.vi -2146824090 Exception in Microsoft word: Befehl misslungenHelp Path is wdma

  • Populating the request attributes in Application Instance forms of OIM11gR2

    Hi, We have configured request based provisioning for the 3 target applications. As a process 1) Manager is log in to OIM Identity console and selects the one user and provision the application Instance after selecting the required roles in the Appli

  • How to erase all the info on my mini 210-2145DX ?

    Hello! I'm giving away my computer and i would like to erase every document and put it back like it was when i first bought it! Can you help me doing that?! Thank you This question was solved. View Solution.

  • 5700 transformers

    Hi, i wanna ask about the new phone 5700 transformesrs i've heared that it's at china now.. my question that when it will appear in the egyptian market? and if it will apear or not and also if it's real or fake i mean about the phone itself ... !! th