Workflow process for MIGO

Dear All,
I 'm new on the forum and I will greetly appreciate to share SAP experience and knowlege. I ' ve been doing MM and FI for only 2 years and I am very interested in workflow procedure.
Here is my question :
Can I set up a workflow procedure for the transaction MIGO in 3 steps
The goal is to divide this transaction in 3 level of approbation to definitly accept a good receipt and to further proceed to Miro transaction.
- First, an user must do the good receipt but the document should just be just maintained.
- Second step, an user should confirm or modify the maintained document and park it. This user could not be the same one as the one that made the good receipt at the first level.
- Finally, at the third level, an user will finally confirm the good receipt, post the document which will be available for clearing  in MIRO.  This user could not be the one that order the goods in first instance.
Any help would be greetly appreciated.
Hervé
Edited by: H.moreau on Oct 19, 2011 9:24 AM

There are some default approval processes available.  Luckily, there is one for a manager approval that requires no custom coding.  You can use this one:
BeneficiaryManagerApproval
This acquires approval from the beneficiary's manager. This can be associated with the following:
The request types that have a beneficiary. Examples of such request types are Provision Resource and Assign Roles.
All user models except Create User and Self-Register User.
This composite must be associated at the operational level of approval because a request can have multiple beneficiaries at the request level.
To the list of other available default approvals, you can check here:  http://docs.oracle.com/cd/E21764_01/doc.1111/e14309/soa.htm#BABIHHBE
If you want to do a custom approval, i would suggest the Oracle By Examples, they will get you started:  http://apex.oracle.com/pls/apex/f?p=44785:2:0:FORCE_QUERY::2,RIR,CIR:P2_SEARCH,P2_GROUP_ID,P2_PRODUCT_ID,P2_RELEASE_ID:Approval%2C1001%2C2019%2C131
-Kevin

Similar Messages

  • Implement workflow process for material reservation using tcode IW32

    Hi
    How can I implement workflow process for material reservation using tcode IW32
    - PM order.
    Thanks,
    Amos

    Hi;
    Have been able to find the solution to create the IDoc MRESCR after entering a reservation? 
    I am in the same situation and I do not see the IDoc output in the BD87. 
    It would be nice if you share the solution.
    Thanks in advance

  • How can i approve or start a workflow process for a rejected vacany in irec

    The users have rejected some vacancies mistakenly so how can i approve that vacany .Do i have i to restart the workflow process if yes then how can i do that .
    Thanks

    Hi Ramesh
    Thanks for your reply but is it possible that i can go in as sysadmin user and update the notification .I tried looking into the sysadmin user and workflow admin but i couldnt find it .It says that i cant update the notification that has already been approved

  • How I can auto approve pending workflow process, once month end proces

    I have created workflow process for timesheet approval.
    I want to auto approve all pending timesheet (i.e (default notification timeout is 7 days) notification send to approver, but still not approved) in Oracle workflow Process, when Month end process started
    Month end process will initiate a flag in pending timesheet header table with process started

    I am not sure if I understand your requirements completely.
    1) If your requirement is that all the pending timsheets have to be approved by month-end (not really when month-end process starts) then set the Timeout of the notification to Absolute Time of end of that month... so that by the end of the month the background engine will pick it up.
    You may design the approval notification within a Sub-process with RESULT attribute of Approve / Reject. Design a Timeout transition for the Notification Activity within the sub-process that will go to an END activity that has Approve result. Thus once the notification times out, the sub-process will complete with result APPROVED.
    2) One other way is to respond to OPEN notifications using APIs.
    WF_NOTIFICATION.SetAttrText(nid, 'RESPOND', 'APPROVED');
    WF_NOTIFICATION.Respond(nid);
    You should have queried up all OPEN notifications for Timesheet approval and do this in a loop... which could be time-consuming sometimes.
    Thanks

  • Looking for screen to change Supplier User Registr.. workflow process name

    Hi,
    The question relates to Supplier User Management.
    Does anybody know if there is a page where you can pickup the workflow (the shipped one has internal name POS_REG) process name for supplier registration?
    Thank you.
    Anatoliy

    Hi Bala
    What enhancements were you adding to the Workflow Reassign/Delegate feature, which included being able to add comments? A good idea is to look for any differences between how workflow implements the reassign feature, and your customization.
    Also, make sure you only use the Public documented PL/SQL APIs and do not update the tables directly to ensure no Support or Upgrade Issues.
    Cheers
    Mark
    I am using Stand alone Workflow 2.6, In my workflow process
    which is an Issue tracking system which is working fine. On Enhancement I would like to create my own RE-ASSIGN function which will, Change the ownership of an issue totally to other user.
    For this I Created a package(CHANGE_OWNER.CREATE)which will show list of Users and Comment field(Just like Re-Assign).
    Here user can pick other user, and add comment,
    once submit for that Item key I am updating the workflow notification table so that paritcular issue ownership will be changed.
    In my workflow process I created a lookup code called "Change Owner". On click of Change Owner it will call the Function
    in workflow process which will call CHANGE_OWNER.CREATE, here
    the workflow process supposed to wait and get the User to be
    changed. BUT THE PROCESS IS NOT WAITING, IT JUST DISPLAYED THE
    SCREEN AND CONTINUED THE WORKFLOW PROCESS. I WANT THE MY
    WORKFLOW PROCESS TO BE ACT AS RE-ASSINGN BUTTON WHICH WILL WAIT
    FOR THE USER INPUT.
    HOW TO DO IT.
    Thanks
    Bala.

  • Workflow process does not complete for 3500 but works for about 10 records

    Hi Gurus,
    I am a novice in workflow. Pls bear if the questions are very basic.
    We have a old custom workflow process which is inistaed by a PL/SQL procedure
    WF_ENGINE.CreateProcess ---
    WF_ENGINE.StartProcess ---
    COMMIT; ---
    Now this process has run for over 6-7 years but has always processed max upto 8 or 10 records at a time. Now we had about 4000 records in a table and the process was running for more than 4 days now and it has been termiinated.
    I could not see any new item_keys. Is it because we have a commit only at the end.
    This process has 3 sub processes. they are connected by 'AND' and then we have an 'End' node.
    The first sub-process is simple and we can see a record in wf_items .
    Howver no records are there in wf_items for the 2nd and 3rd sub processes.
    How can we check the point where it has hanged. Querying Status monitor just gives the first sub-process that has completed. How to debug for these cases.
    This has always worked for small volumes. Now we have about 4000 records and we face this problem
    The process actually checks data from the table and based on some conditions , it send 5 different notifications to 5 different mail groups. So we expect about 4000*5 mails to be sent.
    Any help is welcome.
    Thanks,
    L
    Edited by: 901929 on 20-Jul-2012 01:38
    Edited by: 901929 on 20-Jul-2012 01:39

    L,
    Please check the following:
    1. Since this is pure PLSQL you can have a SQL script where you enable a database event to get a trace and then run tkprof on the output to spot any performance problem. You can use something like:
    alter session set tracefile_identifier='Background' max_dump_file_size='unlimited' events '10046 trace name context forever, level 12';
    begin
    wf_engine.CreateProcess(...);
    wf_engine.StartProcess(...);
    end;
    commit;
    alter session set events '10046 trace name context off';
    select fnd_debug_util.get_trace_file_name() tracefile from dual;
    2. Do you happen to know if WF runtime tables are being purged regularly? If this is not done you can expect serious performance problems. If this is WF Apps embedded you need to clean data using the concurrent request Purge Obsolete Workflow runtime data, if not then you can use the APIs in package WF_PURGE.
    3. You will only find one record in WF_ITEMS for this process if those sub-processes belong to the same item type
    4. About the notifications, make sure you are not running into this design problem: https://blogs.oracle.com/oracleworkflow/entry/looping_within_a_workflow_process
    Regards,
    Alejandro

  • WORKFLOW PROCESS IS NOT WAITING FOR USER INPUT LIKE RE-ASSIGN FUNCTION

    I am using Stand alone Workflow 2.6, In my workflow process
    which is an Issue tracking system which is working fine. On Enhancement I would like to create my own RE-ASSIGN function which will, Change the ownership of an issue totally to other user.
    For this I Created a package(CHANGE_OWNER.CREATE)which will show list of Users and Comment field(Just like Re-Assign).
    Here user can pick other user, and add comment,
    once submit for that Item key I am updating the workflow notification table so that paritcular issue ownership will be changed.
    In my workflow process I created a lookup code called "Change Owner". On click of Change Owner it will call the Function
    in workflow process which will call CHANGE_OWNER.CREATE, here
    the workflow process supposed to wait and get the User to be
    changed. BUT THE PROCESS IS NOT WAITING, IT JUST DISPLAYED THE
    SCREEN AND CONTINUED THE WORKFLOW PROCESS. I WANT THE MY
    WORKFLOW PROCESS TO BE ACT AS RE-ASSINGN BUTTON WHICH WILL WAIT
    FOR THE USER INPUT.
    HOW TO DO IT.
    Thanks
    Bala.

    Hi Bala
    What enhancements were you adding to the Workflow Reassign/Delegate feature, which included being able to add comments? A good idea is to look for any differences between how workflow implements the reassign feature, and your customization.
    Also, make sure you only use the Public documented PL/SQL APIs and do not update the tables directly to ensure no Support or Upgrade Issues.
    Cheers
    Mark
    I am using Stand alone Workflow 2.6, In my workflow process
    which is an Issue tracking system which is working fine. On Enhancement I would like to create my own RE-ASSIGN function which will, Change the ownership of an issue totally to other user.
    For this I Created a package(CHANGE_OWNER.CREATE)which will show list of Users and Comment field(Just like Re-Assign).
    Here user can pick other user, and add comment,
    once submit for that Item key I am updating the workflow notification table so that paritcular issue ownership will be changed.
    In my workflow process I created a lookup code called "Change Owner". On click of Change Owner it will call the Function
    in workflow process which will call CHANGE_OWNER.CREATE, here
    the workflow process supposed to wait and get the User to be
    changed. BUT THE PROCESS IS NOT WAITING, IT JUST DISPLAYED THE
    SCREEN AND CONTINUED THE WORKFLOW PROCESS. I WANT THE MY
    WORKFLOW PROCESS TO BE ACT AS RE-ASSINGN BUTTON WHICH WILL WAIT
    FOR THE USER INPUT.
    HOW TO DO IT.
    Thanks
    Bala.

  • Workflow Process Name for Single/Bulk enrollment

    Hi,
    What is the Workflow Process Name for Single/Bulk enrollment through Learning Administrator ?

    Hi,
    In this process, how to enable approval flag for Learner Administrator ?
    or in other words ...
    Does approval can be set when Learner Admin enroll any employee/learner in the class ?

  • Custom processing for every Workflow event

    Hi,
    As soon as any workflow event is raised, I want to read
    data from my custom Z tables and do custom processing for that event.
    Thanks,
    Sudheer

    Hi Sudheer,
    You say <i>check if that event is in our custom table</i>. No need to reinvent the wheel, the event linkage fulfils exactly this function. If you want to perform an action for an event then add the event into the event linkage (tx. SWETYPV) instead of - or as well as - your custom table. It doesn't matter if you have the same action in there for 1, 50 or 100 events.
    You can have more than one linkage per event and you can start more than just workflow. The receiver function module is what 'receives' the event. It's just that: a FM to be executed when an event happens. This is the event manager's job, which is what you're trying to duplicate as I understand it. The receiver can either be a workflow or anything you choose - just follow the standard FM interface required here (have a look at any other linkage's FM for the parameters).
    All that aside, it sounds like somethng I'd do in a workflow. Either as two extra steps in the beginning of my workflow or as a second workflow. (Background step to log data and a sendmail step to notify users).
    Cheers
    Mike

  • Internal order processing for Workflow template

    Hi All,
    I have a requirement for Internal order processing Tcode : KO01.
    Is there any standard workflow template for KO01.
    because internal budget need to approve by the approvals
    Please let me know as soon as possible.
    Thanks & Regards,
    Prasad.

    Hi Prathap,
    Did you get a workflow template for the internal order Approval?
    Working on creating a worflow for Capex functionality but don't really know where to begin.
    Have looked into the following Tcodes:
    Ko01, ko02 and ko22.
    Pls help.
    Thanks & Regards
    Stephanie

  • DIM Workflow - How can I return task status for workflow process

    Hi all,
    I'd like to build a DIM workflow process to run a unix shell script. Under the workflow, I've created a task object and assign the unix shell script into it.
    Although the DIM workflow works fine to run the unix shell script in the normal case, however, it cannot return the error status in the task when my shell script is failed (such as exit 2 at the end of script).
    May I know if there any setting in the workflow/task, in order to change the status on DIM workflow.
    Many thanks,
    hw

    Hi Ramesh
    Thanks for your reply but is it possible that i can go in as sysadmin user and update the notification .I tried looking into the sysadmin user and workflow admin but i couldnt find it .It says that i cant update the notification that has already been approved

  • Business Process for Invoice receipting

    The company is an SME with seven offices distributed around Australia.  Purchase requisitions have a rigorous approval procedure.  The requisitioner needs the correct approval before a purchase order is created. 
    However we do not have a process for ensuring that the goods have been delivered or services provided when the invoice comes into Finance for paying.  We do not have inventory, very few assets, but do purchase many services.  The only people who can advise if the services have been rendered would be the requisitioner on the requisition.
    Is there a business process that can be triggered off by receipt of the invoice?  Is there a workflow to send a request to the requisitioner to acknowledge the Invoice receipt?  Is invoice receipting different from goods receipting?  Is the Goods Receipt non valuated flag on the PO the determining factor for invoice receipting?  Is the transcation for invoice receipting MIGO?  Are there any SAP papers on best practices that are not aimed at cement companies or retail?

    Dear,
    There 2 points:
    1. Service Acceptance Sheet (for services)
    2. Quality notification maintenance in purchase order (for goods receipt).
    Please check these 2 options, I hope that these two features can provide answers to you most of your questions.
    Invoice receipt is differ from Goods receipt and more over Free items in PO definitely have impact on Invoice receipt.
    Regards,
    Syed Hussain.

  • OIM: Error while deploying Custom Approval Process for Self-Register

    While deploying the Custom Approval Process for Self-Register, i am getting the following error in scac.log file
    Nov 16, 2011 2:48:58 PM oracle.fabric.common.wsdl.SchemaManager isIncrementalBuildSupported
    INFO: XMLSchema incremental build enabled.
    Nov 16, 2011 2:48:58 PM com.collaxa.cube.CubeLogger info
    INFO: validating "ApprovalProcess.bpel" ...
    oracle.jrf.UnknownPlatformException: JRF is unable to determine the current application server platform.
         at oracle.jrf.ServerPlatformSupportFactory.getInstance(ServerPlatformSupportFactory.java:79)
         at oracle.integration.platform.blocks.WLSPlatformConfigurationProvider.<clinit>(WLSPlatformConfigurationProvider.java:44)
         at oracle.integration.platform.blocks.FabricConfigManager.<clinit>(FabricConfigManager.java:155)
         at oracle.integration.platform.blocks.xpath.FabricXPathFunctionResolver.loadXpathFunctions(FabricXPathFunctionResolver.java:271)
         at oracle.integration.platform.blocks.xpath.FabricXPathFunctionResolver.loadXPathConfigFile(FabricXPathFunctionResolver.java:153)
         at oracle.integration.platform.blocks.xpath.FabricXPathFunctionResolver.init(FabricXPathFunctionResolver.java:51)
         at com.collaxa.cube.xml.xpath.BPELXPathFunctionNameResolver.loadFabricXpathFunctions(BPELXPathFunctionNameResolver.java:57)
         at com.collaxa.cube.xml.xpath.BPELXPathFunctionNameResolver.<init>(BPELXPathFunctionNameResolver.java:48)
         at com.collaxa.cube.xml.xpath.BPELXPathFunctionNameResolver.<clinit>(BPELXPathFunctionNameResolver.java:44)
         at com.collaxa.cube.lang.compiler.bpel.XPathExprValidatorVisitor.<init>(XPathExprValidatorVisitor.java:122)
         at com.collaxa.cube.lang.compiler.bpel.AssignValidator.<init>(AssignValidator.java:89)
         at com.collaxa.cube.lang.compiler.bpel.BpelParser.<init>(BpelParser.java:452)
         at com.collaxa.cube.lang.compiler.bpel.BPELValidator.validate(BPELValidator.java:60)
         at com.collaxa.cube.lang.compiler.BPEL1Processor.validate(BPEL1Processor.java:329)
         at com.collaxa.cube.lang.compiler.BPEL1Processor.process(BPEL1Processor.java:153)
         at com.collaxa.cube.lang.compiler.CubeParserHelper.compile(CubeParserHelper.java:47)
         at oracle.fabric.bpel.bpelc.BPELComponentValidator.validate(BPELComponentValidator.java:40)
         at oracle.soa.scac.ValidateComposite.validateComponentTypeServicesReferences(ValidateComposite.java:1117)
         at oracle.soa.scac.ValidateComposite.doValidation(ValidateComposite.java:500)
         at oracle.soa.scac.ValidateComposite.run(ValidateComposite.java:150)
         at oracle.soa.scac.ValidateComposite.main(ValidateComposite.java:135)
    Nov 16, 2011 2:49:00 PM CubeProcessGenerator compile
    WARNING: classpath is: D:\JDev11g\Middleware\jdeveloper\jdev\extensions\oracle.sca.modeler.jar;D:\JDev11g\Middleware\jdeveloper\soa\modules\oracle.soa.fabric_11.1.1\fabric-runtime.jar;D:\JDev11g\Middleware\jdeveloper\soa\modules\oracle.soa.mgmt_11.1.1\soa-infra-mgmt.jar;D:\JDev11g\Middleware\oracle_common\modules\oracle.fabriccommon_11.1.1\fabric-common.jar;D:\JDev11g\Middleware\jdeveloper\soa\modules\oracle.soa.bpel_11.1.1\orabpel.jar;D:\JDev11g\Middleware\jdeveloper\soa\modules\oracle.soa.mediator_11.1.1\mediator_client.jar;D:\JDev11g\Middleware\oracle_common\modules\oracle.mds_11.1.1\mdsrt.jar;D:\OIMPS1\Middleware\oracle_common\modules\oracle.jps_11.1.1\jps-manifest.jar;;D:\OIMPS1\Middleware\Oracle_IDM1\server\workflows\new-workflow\process-template\SelfRegistrationApprovalApp\SelfRegistrationApproval\SCA-INF\classes;D:\OIMPS1\Middleware\Oracle_IDM1\server\workflows\new-workflow\process-template\SelfRegistrationApprovalApp\SelfRegistrationApproval\SCA-INF\classes;D:\OIMPS1\Middleware\Oracle_IDM1\server\workflows\new-workflow\process-template\SelfRegistrationApprovalApp\SelfRegistrationApproval\SCA-INF\gen-classes;D:\OIMPS1\Middleware\Oracle_IDM1\server\workflows\new-workflow\process-template\SelfRegistrationApprovalApp\SelfRegistrationApproval\SCA-INF\lib\oimclient.jar;D:\JDev11g\Middleware\oracle_common\modules\commonj.sdo_2.1.0.jar;D:\JDev11g\Middleware\oracle_common\modules\oracle.fabriccommon_11.1.1\fabric-common.jar;D:\JDev11g\Middleware\oracle_common\modules\oracle.xdk_11.1.0\xmlparserv2.jar;D:\JDev11g\Middleware\jdeveloper\soa\modules\oracle.soa.bpel_11.1.1\bpel1-1-xbeans.jar;D:\JDev11g\Middleware\jdeveloper\soa\modules\oracle.soa.bpel_11.1.1\orabpel-common.jar;D:\JDev11g\Middleware\jdeveloper\soa\modules\oracle.soa.bpel_11.1.1\orabpel.jar;D:\JDev11g\Middleware\jdeveloper\soa\modules\oracle.soa.bpel_11.1.1\bpel_coherence_config.jar;D:\JDev11g\Middleware\jdeveloper\soa\modules\oracle.soa.bpel_11.1.1\orabpel-exts.jar;D:\JDev11g\Middleware\jdeveloper\soa\modules\oracle.soa.bpel_11.1.1\thirdparty.jar;D:\JDev11g\Middleware\jdeveloper\soa\modules\oracle.soa.bpel_11.1.1\bpm-analytics.jar;D:\JDev11g\Middleware\jdeveloper\soa\modules\oracle.soa.bpel_11.1.1\orabpel-thirdparty.jar;D:\JDev11g\Middleware\jdeveloper\soa\modules\oracle.soa.bpel_11.1.1\wsif-binding.jar;D:\JDev11g\Middleware\jdeveloper\soa\modules\oracle.soa.bpel_11.1.1\orabpel-validator.jar;D:\JDev11g\Middleware\jdeveloper\soa\modules\oracle.soa.bpel_11.1.1\monitor-rt-xbean.jar;D:\JDev11g\Middleware\jdeveloper\soa\modules\oracle.soa.bpel_11.1.1\oracle.soa.bpmn.jar;D:\JDev11g\Middleware\jdeveloper\soa\modules\user-patch.jar;D:\JDev11g\Middleware\jdeveloper\soa\modules\oracle.soa.thirdparty.jar;D:\JDev11g\Middleware\jdeveloper\uddi\lib\oracle.soa.uddi.jar;D:\JDev11g\Middleware\jdeveloper\soa\modules\oracle.soa.fabric_11.1.1\bpm-infra.jar;D:\JDev11g\Middleware\jdeveloper\soa\modules\oracle.soa.fabric_11.1.1\testfwk-xbeans.jar;D:\JDev11g\Middleware\jdeveloper\soa\modules\oracle.soa.fabric_11.1.1\fabric-ext.jar;D:\JDev11g\Middleware\jdeveloper\soa\modules\oracle.soa.fabric_11.1.1\soa-infra-scheduler.jar;D:\JDev11g\Middleware\jdeveloper\soa\modules\oracle.soa.fabric_11.1.1\xmlunit-1.1.jar;D:\JDev11g\Middleware\jdeveloper\soa\modules\oracle.soa.fabric_11.1.1\fabric-runtime.jar;D:\JDev11g\Middleware\jdeveloper\soa\modules\oracle.soa.fabric_11.1.1\soa-infra-tools.jar;D:\JDev11g\Middleware\jdeveloper\soa\modules\oracle.soa.fabric_11.1.1\soa-xpath-exts.jar;D:\JDev11g\Middleware\jdeveloper\soa\modules\oracle.soa.fabric_11.1.1\oracle-soa-client-api.jar;D:\JDev11g\Middleware\jdeveloper\soa\modules\oracle.soa.wls.jar;D:\JDev11g\Middleware\jdeveloper\soa\modules\oracle.soa.fabric_11.1.1\fabric-client.jar;D:\JDev11g\Middleware\jdeveloper\soa\modules\oracle.soa.fabric_11.1.1\fabric-runtime-ext-was.jar;D:\JDev11g\Middleware\jdeveloper\soa\modules\oracle.soa.fabric_11.1.1\fabric-runtime-ext-wls.jar;D:\JDev11g\Middleware\jdeveloper\soa\modules\oracle.soa.fabric_11.1.1\oracle.soa.fabric.jar;D:\JDev11g\Middleware\jdeveloper\soa\modules\oracle.soa.workflow_11.1.1\bpm-services.jar;D:\JDev11g\Middleware\jdeveloper\soa\modules\oracle.soa.ext_11.1.1\classes
    In scac_out.xml file following is the error message
    <Fault>
    <severity>error</severity>
    <loc>/ns:composite</loc>
    <line/>
    <col/>
    <file/>
    <msg>
    <![CDATA[SCAC-50012]]>
    </msg>
    </Fault>

    Hi,
    I have run into the same problem with SOA 11.1.1.5 version. In my case after fixing the following two errors it seems to work fine.
    If you have followed the guide, there must be some errors:
    First the java code if copied then contains an extra enter value:
    Instead of:
    "try {
    System.out.println("Prototype for invoking an OIM API from a SOA Composite");
    System.out.println("RTM Usecase: Self Registration Approval by Organization
    Administrator");"
    Use the following:
    "try {
    System.out.println("Prototype for invoking an OIM API from a SOA Composite");
    System.out.println("RTM Usecase: Self Registration Approval by Organization Administrator");"
    The other error is that you should not use <BEAHOME>/oracle_common/modules/oracle.jps_11.1.1/jps-manifest.jar, but the <BEAHOME>/oracle_common/modules/oracle.jps_11.1.1/jps-api.jar in jdeveloper. After these the deployment to the application server works fine for me.

  • BDC for MIGO for GR OutBound Delivery( A01 & R05 ) from Movement Type 107 to 109

    Hi,
    I am stuck with a very typical situation need all your expertise and advices for a solution.
    We are basically trying to create change the movement type from 107 to 109 through MIGO.
    I have made a BDC recording for MIGO ( because we would like to track each delivery specifically under shipment , I know that there is a BAPI which is there to do this but it works fine if we do the shipment with Purchase Order as input which dont want in that manner )
    Process:
    1. Creating Production Order
    2. Creating Purchase Order
    3. Creating STO
    4. Deliveries
    5. PGI for Deliveries
    6. Shipment for group of outbound Deliveries
    I have created a z program where i am passing shipment number in the selection screen.
    Then it would take all the deliveries for that shipment and pass each delivery to MIGO and process it and change the status from 107 to 109.
    Interesting part here is, the code works absolutely perfect only from my ID. But when I test from other ID it is not executing, so to check where is the problem I have added mess_tab to the CALL TRANSACTION to capture what message is been populated for my ID comparing with others
    Message Captured on Others ID's:
    MSGID: 00
    MSGNR: 344
    MSGV1: SAPLMIGO
    MSGV2: 1300
    Message Captured on MY ID:
    MSGID: MIGO
    MSGNR: 012
    MSGV1: 5000005802
    MSGV2: (empty)
    This is the problem this program is executing only on MY ID, rest all ID's it is not processing.
    We have cross verified with security and basis regarding any authorization issues but nothing came up.
    Please help me what could be the issue ( WHY it is processing successfully for my and WHY NOT for other ID's)
    Below is the main code :
    CALL FUNCTION 'CONVERT_DATE_TO_EXTERNAL'                     " Converting Date format to DD/MM/YYYY
         EXPORTING
           DATE_INTERNAL            = sy-datum
         IMPORTING
           DATE_EXTERNAL            = lv_date_external
         EXCEPTIONS
           DATE_INTERNAL_IS_INVALID = 1
           OTHERS                   = 2.
           IF SY-SUBRC <> 0.                                     "#EC NEEDED
    * Implement suitable error handling here
           ENDIF.
    *   Validating input shipment number with database table VTTP
           SELECT VTTP~TKNUM
                  VTTP~TPNUM
                  VTTP~VBELN
             FROM VTTP INNER JOIN VTTK
             ON VTTP~TKNUM = VTTK~TKNUM
             INTO TABLE IT_VTTP
             WHERE VTTK~TKNUM = P_TKNUM
               AND VTTK~STDIS = 'X'.
           IF sy-subrc = 0.
    *   Validating all deliveries having same Delivery type or not
             SELECT * FROM likp INTO TABLE it_likp FOR ALL ENTRIES IN it_vttp WHERE vbeln = it_vttp-vbeln
                                                                                AND vbtyp = 'J'.
             IF sy-subrc = 0.
               CLEAR lv_lines.
               LOOP AT it_likp INTO wa_likp.
                 REFRESH:it_vbfa,BDCDATA.
    *   Validating if Delivery Type = 109 (GR already done), or Delivery Type = 107 (must process for GR )
                 SELECT * FROM vbfa INTO TABLE it_vbfa WHERE vbelv = wa_likp-vbeln
    *                                                AND vbtyp_v = 'J'
                                                         AND bwart = '109'.
                 IF sy-subrc = 0.
                   lv_flag1 = 'X'.
                 ELSE.
                   SELECT * FROM vbfa INTO TABLE it_vbfa WHERE vbelv = wa_likp-vbeln
    *                                                  AND vbtyp_v = 'J'
                                                           AND bwart = '107'.
                   IF sy-subrc NE 0.
                     MESSAGE 'No Deliveries with Movement Type "107" ' TYPE 'I'.
                   ELSE.
                     lv_flag2 = 'X'.
                     lv_lines = lv_lines + 1.
    **  BDC for MIGO
                     perform bdc_dynpro      using 'SAPLMIGO' '0001'.
                     perform bdc_field       using 'BDC_OKCODE'
                                                   '=OK_GO'.
                     perform bdc_field       using 'GODYNPRO-ACTION'
                                                   'A01'.
                     perform bdc_field       using 'GODYNPRO-REFDOC'
                                                   'R05'.
                     perform bdc_field       using 'GODEFAULT_TV-BWART'
                                                   '109'.
                     perform bdc_field       using 'BDC_CURSOR'
                                                   'GODYNPRO-OUTBOUND_DELIVERY'.
                     perform bdc_field       using 'GODYNPRO-OUTBOUND_DELIVERY'
                                                   wa_likp-vbeln. "'80019574'.
                     perform bdc_field       using 'GOHEAD-BLDAT'
                                                   lv_date_external. "'04/29/2015'.
                     perform bdc_field       using 'GOHEAD-BUDAT'
                                                   lv_date_external. "'04/29/2015'.
                     perform bdc_field       using 'GOHEAD-WEVER'
                                                   '1'.
                     perform bdc_dynpro      using 'SAPLMIGO' '0001'.
                     perform bdc_field       using 'BDC_OKCODE'
                                                   '=OK_POST1'.
                     perform bdc_field       using 'GODEFAULT_TV-BWART'
                                                   '109'.
                     perform bdc_field       using 'GOHEAD-BLDAT'
                                                   lv_date_external. "'04/29/2015'.
                     perform bdc_field       using 'GOHEAD-LFSNR'
                                                   wa_likp-vbeln. "'0080019574'.
                     perform bdc_field       using 'GOHEAD-BUDAT'
                                                   lv_date_external. "'04/29/2015'.
                     perform bdc_field       using 'GOHEAD-WEVER'
                                                   '1'.
                     perform bdc_field       using 'GODYNPRO-DETAIL_ZEILE'
                                                   '   1'.
                     perform bdc_field       using 'GOITEM-ERFME'
                                                   'EA'.
                     perform bdc_field       using 'GOITEM-ERFMG'
                                                   '1'.
                     perform bdc_field       using 'GOITEM-LSMNG'
                                                   '1'.
                     perform bdc_field       using 'GOITEM-LSMEH'
                                                   'EA'.
                     perform bdc_field       using 'GOITEM-MIGO_ELIKZ'
                                                   '1'.
                     perform bdc_field       using 'GOITEM-BWART'
                                                   '109'.
                     perform bdc_field       using 'GOITEM-LGOBE'
                                                   'RX Cross-docking'.
                     perform bdc_field       using 'BDC_CURSOR'
                                                   'GODYNPRO-DETAIL_TAKE'.
                     perform bdc_field       using 'GODYNPRO-DETAIL_TAKE'
                                                   'X'.
                     PERFORM bdc_dynpro      USING 'SAPLMIGO' '1300'.
                     PERFORM bdc_field       USING 'BDC_CURSOR'
                                                   'G_TIP_DONT_SHOW_AGAIN'.
                     PERFORM bdc_field       USING 'BDC_OKCODE'
                                                   '=OK_TIP_GO'.
                     PERFORM bdc_field       USING 'G_TIP_DONT_SHOW_AGAIN'
                                                   'X'.
    *& Avoid unncessary screens to populate while processing background.
                     LV_OPTIONS-DISMODE = 'N'.
                     LV_OPTIONS-UPDMODE = 'S'.
                     LV_OPTIONS-NOBINPT = 'X'.
                     CALL TRANSACTION 'MIGO' USING BDCDATA  OPTIONS FROM LV_OPTIONS MESSAGES INTO IT_MESSTAB1 .
                     WAIT UP TO 1 SECONDS.
                     DELETE IT_MESSTAB1 WHERE MSGTYP NE 'E'.
                     IF IT_MESSTAB1[] IS NOT INITIAL.
                       APPEND LINES OF IT_MESSTAB1 TO IT_MESSTAB.
                     ENDIF.
                   ENDIF.
                 ENDIF.
               ENDLOOP.
             ENDIF.
           ELSE.
             MESSAGE 'Shipment Number does not exists Or not Planned' TYPE 'E'.
           ENDIF.
         ELSE.
           MESSAGE 'Please insert Shipment Number' TYPE 'E'.
         ENDIF.
         IF lv_flag1 = 'X' AND lv_flag2 = 'X'.
           MESSAGE 'This shipment is processed with an inconsistent goods receipt' TYPE 'I'.
         ELSEIF lv_flag1 = 'X'.
           MESSAGE 'Shipment already been processed for these deliveries' TYPE 'I'.
         ELSEIF lv_flag2 = 'X'.
           lv_lines1 = lv_lines.
           CONDENSE lv_lines1 NO-GAPS .
           CONCATENATE lv_lines1 'Goods Receipt are posted for the shipment '
                  INTO lv_message SEPARATED BY space.
           MESSAGE  lv_message TYPE 'I'.
         ENDIF.
    * Display Messages from Message TAB.
         DELETE ADJACENT DUPLICATES FROM IT_MESSTAB.
         DATA:lv_msg TYPE string.
         LOOP AT IT_MESSTAB INTO WA_MESSTAB.
           CALL FUNCTION 'FORMAT_MESSAGE'
             EXPORTING
               ID        = WA_MESSTAB-MSGID
               NO        = WA_MESSTAB-MSGNR
               V1        = WA_MESSTAB-MSGV1
               V2        = WA_MESSTAB-MSGV2
               V3        = WA_MESSTAB-MSGV3
               V4        = WA_MESSTAB-MSGV4
             IMPORTING
               MSG       = lv_msg
             EXCEPTIONS
               NOT_FOUND = 1
               OTHERS    = 2.
           IF sy-subrc <> 0.
    * Implement suitable error handling here
           ENDIF.
           WRITE:/ lv_msg.
         ENDLOOP.
    *        Start new screen                                              *
       FORM BDC_DYNPRO USING PROGRAM DYNPRO.                 "#EC PF_NO_TYPE
         CLEAR BDCDATA.
         BDCDATA-PROGRAM  = PROGRAM.
         BDCDATA-DYNPRO   = DYNPRO.
         BDCDATA-DYNBEGIN = 'X'.
         APPEND BDCDATA.
       ENDFORM.
    *        Insert field                                                  *
       FORM BDC_FIELD USING FNAM FVAL.                       "#EC PF_NO_TYPE
         CLEAR BDCDATA.
         BDCDATA-FNAM = FNAM.
         BDCDATA-FVAL = FVAL.
         APPEND BDCDATA.
       ENDFORM.
    Thanks,
    Srini

    Hi Rob,
    Thanks for quick reply.
    I have checked the NOTE : 304122
    But there in the NOTE it says ( " BAPI, BAPI_GOODSMVT_CANCEL, BAPI_GOODSMVT_CREATE, CNTL_ERROR" )
    These BAPI's work perfectly for (purchase order as input type), but here out type is ( A01 & R05 ) we are giving DELIVERY NUMBER as input to MIGO.
    So for this scenario we cannot use those BAPI's mentioned in the NOTE.
    Also as stated earlier in the message interesting part is
    "The code works absolutely perfect only from my ID. But when I test from other ID it is not executing. Code is working exactly as expected ONLY to my ID. When i try to execute the same code from another's ID it is not working"
    So what do you think might be the issue?

  • Mass Maintenance will recognize any customer record in workflow process

    Hi gurus,
    Please help me on the Workflow process, how to handle below workflow  scenario,  is there any logic be hand this.
    please see in BOLD workflow issue.
    1.2     As-Is Business Process
    Currently Data Maintenance teams use standard SAP transaction XD07 to change Customer Account Groups. The standard transaction XD07 allows only one Customer Account Group to be changed at a time. The process is to be manually repeated for every customer. After the Account Group is changes in the request client (X07(10)), an RFC call is made to the BOR client (X07(20)) and then to the transaction client  (X08(10)) to change the Customer Account Group as the SAP ALE process does not support Account Group Changesu2026
    1.3     To-Be Business Process
    From time to time, bulk customer data updates will be needed. This can be the result of business situations that cause multiple updates to be performed for given customer fields such as Customer Account Group field. A new program must be developed to let the user mass update the Customer Account Group field (KNA1-KTOKD). The Program should be accessed on demand using a new T.Code (YMDM_ACCTGRP_CHG).
    Business users will submit a spreadsheet in the appropriate upload format to CDM along with written approval from the Food Service data owner to execute the upload in P07. CDM will execute the upload, record all documentation for the audit change log and notify the submitter when complete
    1.4     To-Be Business Process Flow Diagram
    1.5     Enhancement Functionality
    The following are the requirements:
    u2022     This tool will enable a user to perform bulk update to the customer account group field.
    u2022     The utility should let the user upload a u201CTab delimitedu201D file to mass update the Account Group field.
    u2022     The Load File will have 3 columns, Customer Number (KNA1-KUNNR), Current Account Group (KNA1-KTOKD) and New Account Group (KNA1-KTOKD).
    u2022     The Program must utilize the process behind the standard SAP transaction XD07 to change customer Account Groups in X07(10).
    u2022     The standard customer ALE (DEBMAS) process does not support Customer Account Group changes, so the mass change program must use the RFC functionality to change he Account Groups in the BOR (X07(20)) and Transaction system (X08(10)).
    u2022     Workflows for all updates performed using this T.Code are automatically approved.  No manual approval steps will be needed after data load.
    u2022     Mass Maintenance will recognize any customer record that has an open workflow. If a customer record is already in the request queue, it is u201Coff limitsu201D for any bulk update. That update request to that particular customer record must be rejected.
    u2022     Provide the option to run the process in validation mode and update mode.
    u2022     Report all hard and soft legacy field errors on a validation report.  All u201Chardu201D legacy field validations should be passed before allowing update mode to run.
    u2022     The upload process will produce an error log for all records not loaded into the system.

    see newer message. Problem appears to be related to gmail

Maybe you are looking for

  • How to get the current session details in windows phone 8 when using Facebook ,Google and Microsoft login

    I want to get the session details like access token , provider etc on a page (ExamplePage.xaml.cs) , i used the following example from nokia developers community (link)  and implemented the login part but how can i get session details  so that i can

  • Purchase Order Text Details

    Hi, My requirement is to get the details of the Purchase Order Text (maintained in the material master record) for all the materials in two of my plants. Kindly let me know how to get those details. Regards, Ramesh

  • Material getting set for Batch Management in O/B delivery

    Hi Folks, For a material which is not batch managed, I created an outbound delivery. For some reason, the material is getting set as 'BatchManagement' even though the Batch Management indicator is not set. Due to this PGI is not possible. Any thought

  • SCD type 2 using merge

    Hi , I'm trying to impliment SCD type 2 using Merge but unlike typical Merge where you have target and source table,  my Inserts come from one table and updates/changes are determined from another table.. I have issue with updates. below is structure

  • ORDER ID

    Hi all, what  is orderid  in FBV1 transaction? what is the relation  ship between cost center , profit center  and order id? while parking  the document i have  given only orderid  for a particular line item with out giving  the cost center and profi