User exit(very very urgent)

hello
below is my coding........
the transaction is IW22 and the the code would be triggered when the notification complete button is checked.
when the first case gets executed. i will get a pop-up.when i press continue the required operation is been performed but when i press cancel its returning to the notification screen which is going perfectly.but when i edit some values in the screen and press save in that transaction, as per the transaction it has to go the first screen showing that the notification is saved but its returning to the first screen showing the notification is complete.
do help me
TABLES : kssk, "Allocation Table: Object to Class
klah. "Class Header data
TYPES: BEGIN OF ty_it_itab,
objek TYPE ausp-objek, "Object
clint TYPE kssk-clint, "Internal Class Number
END OF ty_it_itab.
DATA: v_answer TYPE c,
f_mr_flag(1) TYPE c.
DATA: it_itab TYPE STANDARD TABLE OF ty_it_itab.
DATA: it_classes TYPE STANDARD TABLE OF sclass,
it_obj_data TYPE STANDARD TABLE OF clobjdat WITH HEADER LINE,
it_alloc TYPE STANDARD TABLE OF api_kssk WITH HEADER LINE.
CONSTANTS: c_class_nflag TYPE klah-class
VALUE 'NFLAG',
c_atnam_mrule TYPE clobjdat-atnam
VALUE 'MRULE',
c_ausp1_hss TYPE clobjdat-ausp1
VALUE 'HSS',
c_iflot TYPE tclt-obtab
VALUE 'IFLOT',
c_a(1) TYPE c VALUE 'A',
c_b(1) TYPE c VALUE 'B',
c_c(1) TYPE c VALUE 'C',
c_x(1) TYPE c VALUE 'X',
c_1(1) TYPE c VALUE '1',
c_2(2) TYPE c VALUE '2'.
DATA: v_object TYPE kssk-objek,
v_class TYPE klah-class,
v_ctyp TYPE klah-klart.
DATA: it_status TYPE STANDARD TABLE OF jstat WITH HEADER LINE.
break shrotrb.
*Functional location M-Rule Critical Check
*Get the Classes related to Functional location
CLEAR f_mr_flag.
v_object = e_viqmel-tplnr.
DATA : v_key TYPE sy-ucomm.
IF sy-ucomm EQ 'BUCH'.
IMPORT v_key FROM MEMORY ID 'GKEY' .
FREE MEMORY ID 'GKEY'.
ENDIF.
IF ( sy-ucomm EQ 'BUCH' AND ( v_key EQ 'WTER' OR
v_key EQ 'BUCH' ) ) OR
sy-ucomm EQ 'WTER'.
CALL FUNCTION 'CLAP_DDB_GET_CLASSIFICATION'
EXPORTING
object = v_object
obtab = c_iflot
spras = sy-langu
TABLES
allocations = it_alloc
EXCEPTIONS
no_allocation = 1
set_aennr = 2
change_nr_not_exist = 3
date_in_past = 4
error_class = 5
error_date_restriction = 6
error_status = 7
OTHERS = 8.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
CLEAR it_alloc.
READ TABLE it_alloc WITH KEY class = c_class_nflag.
IF sy-subrc EQ 0.
v_class = it_alloc-class.
v_ctyp = it_alloc-klart.
*Get the characteristics of Class
CALL FUNCTION 'CLAF_CLASSIFICATION_OF_OBJECTS'
EXPORTING
class = v_class
classtext = c_x
classtype = v_ctyp
features = c_x
language = sy-langu
object = v_object
TABLES
t_class = it_classes
t_objectdata = it_obj_data
EXCEPTIONS
no_classification = 1
no_classtypes = 2
invalid_class_type = 3
OTHERS = 4.
IF sy-subrc <> 0.
CLEAR it_obj_data.
ELSE.
READ TABLE it_obj_data WITH KEY atnam = c_atnam_mrule
ausp1 = c_ausp1_hss.
IF sy-subrc EQ 0.
f_mr_flag = c_x.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
IF ( f_mr_flag = c_x ).
IF ( e_viqmel-wmmrule EQ c_a "WM:Maintenance rule applicability
OR e_viqmel-wmmrule EQ c_b ).
IF viqmsm-kzloesch = c_x AND "Delete Data Record
IF e_viqmel-msaus NE c_x . "Break down indicator
v_key = sy-ucomm.
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
titlebar = text-001
text_question = text-002
text_button_1 = text-006
icon_button_1 = text-008
text_button_2 = text-007
icon_button_2 = text-009
display_cancel_button = ' '
IMPORTING
answer = v_answer
EXCEPTIONS
text_not_found = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
IF v_answer = c_1. "Continue
e_viqmel-msaus = c_x. "Breakdown indicator
ELSEIF v_answer = c_2. "Cancel
SET PF-STATUS 'IV2000'.
EXPORT v_key TO MEMORY ID 'GKEY'.
leave to screen '7200'.
ENDIF.
CLEAR v_answer.
ELSEIF i_viqmel-msaus EQ c_x AND "Breakdown indicator
i_viqmel-ausbs IS INITIAL AND "End of Malfunction(date)
i_viqmel-auztb IS INITIAL. "End of Malfunction(time)
MESSAGE e000(zpm1) WITH text-003. " Error Message
ENDIF.
ELSEIF i_viqmel-msaus EQ c_x . "Breakdown indicator
v_key = sy-ucomm.
CALL FUNCTION 'POPUP_TO_CONFIRM' "Pop-up to
EXPORTING "auto uncheck the breakdown indicator"
titlebar = text-001
text_question = text-004
text_button_1 = text-006
icon_button_1 = text-008
text_button_2 = text-007
icon_button_2 = text-009
display_cancel_button = ' '
IMPORTING
answer = v_answer
EXCEPTIONS
text_not_found = 1
OTHERS = 2
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
IF v_answer = c_1. "Continue
e_viqmel-msaus = space. "Breakdown indicator
ELSEIF v_answer = c_2. "Cancel
EXPORT v_key TO MEMORY ID 'GKEY'.
LEAVE SCREEN.
ENDIF.
CLEAR v_answer.
ENDIF.
ENDIF.
ELSE.
IF ( e_viqmel-wmmrule EQ c_a OR e_viqmel-wmmrule EQ c_b ) AND
i_viqmel-msaus EQ c_x.
v_key = sy-ucomm.
CALL FUNCTION 'POPUP_TO_CONFIRM' "mrule component and auto unchecking
EXPORTING "the breakdown indicator
titlebar = text-001
text_question = text-005
text_button_1 = text-006
icon_button_1 = text-008
text_button_2 = text-007
icon_button_2 = text-009
display_cancel_button = ' '
IMPORTING
answer = v_answer
EXCEPTIONS
text_not_found = 1
OTHERS = 2
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
IF v_answer = c_1. "Continue
e_viqmel-msaus = space. "Breakdown indicator
ELSEIF v_answer = c_2. "Cancel
EXPORT v_key TO MEMORY ID 'GKEY'.
LEAVE SCREEN.
ENDIF.
ENDIF.
ENDIF.
ENDIF.

Hi,
        pls explain the sceanario in brief so that we also will have clear understanding about requriement and we can give most suitable info.
pls provide me more info so i can give suitable user-exist
Regards
Hari Shankar

Similar Messages

  • Help in user exit...urgent

    hi friends,
    i have to find user exit for the following  purpose in FI module....
    While making the Down payment to vendor via T.code F-48, we have to validate the field BKPF- XBLNR. The entry in this field should be either PO number or Service entry sheet. rest should no enter...by validating....
    regards
    veera

    Hello to all,
    You can have this control by using substitution through obbh. First you need to copy the substition user exit program to a Z* program. Go to GCX2 to customize the program name that is used in substitution. Then copy(SE38) the program name for "Val/sub:Exits for substitution" to a Z program then maintain this customizing table with newly created Z* prog. (ZGGBS*****) .
    Then you have chance to change the userexit source codes in substituion. After you copy program and maintain this customizing table , please go to OBBH to maintain the substitution. Create a subs. or create a step for existing subs. When you create a step, a pop up appears and asks you to select the subs. field, select only exit. Then assign U100 or U900. for exit.
    After that maintain the subs condition for example BKPF-TCODE = 'F-48' and then the program enters to your user exit which is a part of your copied program in the beginning steps above. Then you can control any data with database tables , because most of the fields of bseg and bkpf structures are filled before this exit. then you can compere your XBLNR field with PO tables.  You need an ABAPer to do it if you are not familier with abap .
    Regards,
    Baris Cekic.

  • User exit for VA02  - Urgent Please

    Hi,
    I got a requirement to develop USEREXIT for the sales district (Vbkd-bzirk) validation based on item category.
    It is for ITEM level i have to check the user entered value with my newly developed ztable.
    Can any one tell me whether MV45afzz is the suitable user exit for this requirement and what is the approach.
    Also please importantly tell me the structure will have the value in runtime
    Points guaranteed
    Regards,
    Raghu

    Yes, MV45AFZZ will be suitable for the same. Please have a look at below link for details about the same.
    http://help.sap.com/saphelp_46c/helpdata/en/1c/f62c7dd435d1118b3f0060b03ca329/content.htm
    I hope it helps.
    Best Regards,
    Vibha
    *Please mark all the helpful answers

  • User Exit for ME21n - Urgent

    HI all,
    I want to add a function module when a Purchase order is saved(ME21n), i want to know how to find user exit for ME21n & which user exit to be changed.
    I want to call a function module when the user saves the purchase order, please help.
    Please also let me know the step to find the user exits.
    Thanxs in advance.

    Hi,
    Please check enhancement MM06E005 (SMOD).
    Here list of User exit and BADI for ME21N .
    Transaction Code - ME21N                    Create Purchase Order
    Enhancement/ Business Add-in            Description                                                    
    USER EXIT                                                                               
    MELAB001                                Gen. forecast delivery schedules: Transfer schedule implem.    
    MEQUERY1                                Enhancement to Document Overview ME21N/ME51N                   
    MEVME001                                WE default quantity calc. and over/ underdelivery tolerance    
    MM06E001                                User exits for EDI inbound and outbound purchasing documents   
    MM06E003                                Number range and document number                               
    MM06E004                                Control import data screens in purchase order                  
    MM06E005                                Customer fields in purchasing document                         
    MM06E007                                Change document for requisitions upon conversion into PO       
    MM06E008                                Monitoring of contr. target value in case of release orders    
    MM06E009                                Relevant texts for "Texts exist" indicator                     
    MM06E010                                Field selection for vendor address                             
    MM06E011                                Activate PReq Block                                            
    MMAL0001                                ALE source list distribution: Outbound processing              
    MMAL0002                                ALE source list distribution: Inbound processing               
    MMAL0003                                ALE purcasing info record distribution: Outbound processing    
    MMAL0004                                ALE purchasing info record distribution: Inbound processing    
    MMDA0001                                Default delivery addresses                                     
    MMFAB001                                User exit for generation of release order                      
    MRFLB001                                Control Items for Contract Release Order                       
    AMPL0001                                User subscreen for additional data on AMPL                     
    LMEDR001                                Enhancements to print program                                  
    LMEKO001                                Extend communications structure KOMK for pricing               
    LMEKO002                                Extend communications structure KOMP for pricing               
    LMELA002                                Adopt batch no. from shipping notification when posting a GR   
    LMELA010                                Inbound shipping notification: Transfer item data from IDOC    
    LMEQR001                                User exit for source determination                             
    LMEXF001                                Conditions in Purchasing Documents Without Invoice Receipt     
    LWSUS001                                Customer-Specific Source Determination in Retail               
    M06B0001                                Role determination for purchase requisition release            
    MEFLD004                                Determine earliest delivery date f. check w. GR (only PO)      
    MEETA001                                Define schedule line type (backlog, immed. req., preview)      
    ME590001                                Grouping of requsitions for PO split in ME59                   
    M06E0005                                Role determination for release of purchasing documents         
    M06E0004                                Changes to communication structure for release purch. doc.     
    M06B0005                                Changes to comm. structure for overall release of requisn.     
    M06B0004                                Number range and document number                               
    M06B0003                                Number range and document number                               
    M06B0002                                Changes to comm. structure for purchase requisition release    
      Business Add-in  - BADI                 
    ME_PROCESS_REQ                          Enhancements for Processing Enjoy PReqs: Internal              
    ME_PROCESS_PO_CUST                      Enhancements for Processing Enjoy Purchase Order: Customer     
    ME_PROCESS_PO                           Enhancements for Processing Enjoy Purchase Order: Intern.      
    ME_PROCESS_COMP                         Processing of Component Default Data at Time of GR: Customer   
    ME_PO_SC_SRV                            BAdI: Service Tab Page for Subcontracting                      
    ME_HOLD_PO                              Hold Enjoy Purchase Orders: Activation/Deactivation            
    ME_GUI_PO_CUST                          Customer's Own Screens in Enjoy Purchase Order                 
    ME_DEFINE_CALCTYPE                      Control of Pricing Type: Additional Fields                     
    ME_COMMTMNT_REQ_RE_C                    Check of Commitment Relevance of Purchase Requisitions         
    ME_COMMTMNT_REQ_RELE                    Check of Commitment Relevance of Purchase Requisitions         
    ME_PROCESS_REQ_CUST                     Enhancements for Processing Enjoy PReqs: Customer              
    ME_PURCHDOC_POSTED                      Purchasing Document Posted                                     
    ME_RELEASE_CREATE                       BAdI: Release Creation for Sched. Agreemnts with Rel. Docs     
    ME_REQ_OI_EXT                           Commitment Update in the Case of External Requisitions         
    ME_REQ_POSTED                           Purchase Requisition Posted                                    
    ME_TAX_FROM_ADDRESS                     Tax jurisdiction code taken from address                       
    ME_TRIGGER_ATP                          Triggers New ATP for Changes in EKKO, EKPO, EKPV               
    MM_EDI_DELFOR_OUT                       Enhancements for IDoc Output of SA Releases: Internal          
    MM_EDI_DESADV_IN                        Supplementation of Delivery Interface from Purchase Order      
    MM_EDI_ORDERS_OUT                       Enhancements for IDoc Output of Purchase Order: Internal       
    SMOD_MRFLB001                           Control Items for Contract Release Order                       
    ME_COMMTMNT_PO_REL_C                    Check for Commitment-Relevance of Purchase Orders              
    EXTENSION_US_TAXES                      Extended Tax Calculation with Additional Data                  
    MEGUI_LAYOUT                            BAdI for Enjoy Purchasing GUI                                  
    ME_ACTV_CANCEL_PO                       BAdI for Activating the Cancel Function at Header Level        
    ME_BAPI_PR_CHANGE_01                    BAdI: Enjoy BAPIs for Purchase Requisitions (Method Change)    
    ME_BAPI_PR_CHANGE_02                    BAdI: Enjoy BAPIs for Purchase Requisitions (Method Change)    
    ME_BAPI_PR_CREATE_01                    BAdI: Enjoy BAPIs for Purchase Requisitions                    
    ME_BAPI_PR_CREATE_02                    BAdI: Enjoy BAPIs for Purchase Requisitions (Method Create)    
    ME_BSART_DET                            Change document type for automatically generated POs           
    ME_CCP_ACTIVE_CHECK                     BAdI to check whether CCP process is active                    
    ME_CCP_BESWK_AUTH_CH                    BAdI for authorization checks for procuring plant              
    ME_CCP_DEL_DURATION                     Calc. of Delivery Duration in CCP Process (Not in Standard)    
    ME_CHANGE_CHARACTER                     Customer-Specific Characteristics for Product Allocation       
    ME_CHECK_ALL_ITEMS                      Run Through Items Again in the Event of Changes in EKKO        
    ME_CHECK_SOURCES                        Additional Checks in Source Determination/Checking             
    ME_CIN_LEINRF2R                         BADI for CIN India - Delivery charges                          
    ME_CIN_LEINRF2V                         BADI for LEINRF03 excise_invoice_details                       
    ME_CIN_MM06EFKO                         Copy PO data for use by Country version India                  
    ME_CIP_ALLOW_CHANGE                     Configuration in Purchasing: Changeability Control             
    ME_CIP_REF_CHAR                         Facilitates Reference Characteristics in Purchasing            
    ME_COMMITMENT_STO_CH                    BadI for checking if commitments for STOs are active           
    ME_COMMTMNT_PO_RELEV                    Check for Commitment-Relevance of Purchase Orders              
    <b>Reward points</b>
    Regards

  • User Exit for ML81N  at the time of save -- urgent

    hello all,
    I need to fill the field reference field in ML81N transaction with some value for this i need to find user exit i was able to find so many user exits for this transaction but i couldn't find the perfect user exit at the tiem of save,
    Any pointers wouls be of great help..............

    Hi,
    check these 2 threads.
    User exit in ML81N
    Urgent. Badi or user exit for ML81N transaction
    Regards,
    Maha

  • Purchase order user exit

    Hello Firends,
    I am unable to find suitable user exit. My requirement is whenever a new PO is created from Preq,the system should check a Z table where certain material/Sloc combinations are allowed. If combination is not maintained in z table, error message should be diaplayed and PO should not be created.
    Please advise.
    Sanjay

    Dear Sanjay,
    You want to find User Exits its very simple, please do this way
    Go to 'SMOD' and give here enhancement name and click Test or F8
    if you dont know Enhancement name press F4 and give package "ME" press enter and here so many exit names displays select relavent and press test or F8 inside of that exit your user exit will appear
    Hope this may helps you
    Prem.

  • User Exits or BADIs!!!

    Hi,
    I have a concern on BADI and USER EXITS.
    1.See in my program, I don't find the user exits using perform statement. However if i take the development class, I have found 4-5 user exits. is it possible to use any one of them in my standard program for modifications?
    2. In BADI defination while defining the parameters, they are using some tables and parameters for exporting and importing.
    But in my program, the data is getting stored in some other internal table which was not used as a parameter in BADI definition as export or import parameters.
    My Question is, can I use my internal table which was defined globally in the particular BADI to have the required modifications in standard programs?
    Please let me know if any one is having an idea on the above.
    Thanks in advance.
    Ramesh

    Hi,
    The "perform" style of user exits is very old and you can reference any global data within these. They have since been replaced with a call customer-function '001' , which is a function module or a BADI.
    In a user exit or BADI you are restricted to using and changing the data as passed in the interface.
    Darren

  • USER-EXIT for DELIVERY--very very urgent

    Hi all,
    can u plz tell me the user-exit for delivery i.e this exit should be called after the delivery order is created.
    plz suggest some specific exit.it is very very urgent.
    Regards
    pabitra

    Rout ,
    u cannt find out user exits after the Creation.
    V02V0001            Sales area determination for stock transport order
    V02V0002            User exit for storage location determination
    V02V0003            User exit for gate + matl staging area determination (headr)
    V02V0004            User Exit for Staging Area Determination (Item)
    V50PSTAT            Delivery: Item Status Calculation
    V50Q0001            Delivery Monitor: User Exits for Filling Display Fields
    V50R0001            Collective processing for delivery creation
    V50R0002            Collective processing for delivery creation
    V50R0004            Calculation of Stock for POs for Shipping Due Date List
    V50S0001            User Exits for Delivery Processing
    V53C0001            Rough workload calculation in time per item
    V53C0002            W&S: RWE enhancement - shipping material type/time slot
    V53W0001            User exits for creating picking waves
    VMDE0001            Shipping Interface: Error Handling - Inbound IDoc
    VMDE0002            Shipping Interface: Message PICKSD (Picking, Outbound)
    VMDE0003            Shipping Interface: Message SDPICK (Picking, Inbound)
    VMDE0004            Shipping Interface: Message SDPACK (Packing, Inbound)
    *        FORM-Routinen für Userexits
             include mv50afzz.
             include mv50afz1.
             include mv50afz2.
             include mv50afz3.          "Userexit neu zu Release 3.0A
             include mv50afzk.          "Userexit 4.6A (KOMKG/KOMPG)
             include mv50afzl.          "Userexit 4.6A Liefergruppen
                                                                   "n_693000
             include mv50afzp.          "Userexit for pricing screen input
    Regards
    Prabhu

  • User Exit in Contract -Very Urgent

    Dear Experts,
    We are using  User Exit "M06E0005 - Role determination for release of purchasing documents" for some enhancement of release strategy for purchasing docs.
    It is working fine for PO but in case of contract the exit is not firing. We wrote to SAP Service, They told that this user exit is not currently being supported in case of contract. I really have doubt in their comment as SAP documentation for the user exit is telling different things.
    Can anybody used/experienced the same exit or any other exit for enhancement of release strategy for contract?
    Please dont send the list of MM user exits, I need a specific answere.
    Full points will be awarded for explanatory replies.
    Regards,
    Santosh

    Hii..
    It is better to use these BADIs to enhance MIGO..
    MB_MIGO_BADI
    MB_MIGO_ITEM_BADI
    Check the Documentation of these BADIs in SE18
    Implement the BADI in SE19.
    <b>reward if Helpful</b>

  • RFQ User Exit -- Kindly help very urgent

    Hi,
    Can you please tell me , what user exit is used to save RFQ ? While using ME41 to create a RFQ, which user exit is used to Save ?
    Appreciate your help & Will reward with points
    Sorry 2 post the question @ couple of places
    Thanks
    Prithiv

    HI,
    here is list of User exits and BADI.. while saving RFQ in from ME41.
    MEVME001                                WE default quantity calc. and over/ underdelivery tolerance
    MM06E001                                User exits for EDI inbound and outbound purchasing documents
    MM06E003                                Number range and document number
    MM06E004                                Control import data screens in purchase order
    MM06E005                                Customer fields in purchasing document
    MM06E007                                Change document for requisitions upon conversion into PO
    MM06E008                                Monitoring of contr. target value in case of release orders
    MM06E009                                Relevant texts for "Texts exist" indicator
    MM06E010                                Field selection for vendor address
    MMAL0001                                ALE source list distribution: Outbound processing
    MMAL0002                                ALE source list distribution: Inbound processing
    MMAL0003                                ALE purcasing info record distribution: Outbound processing
    MMAL0004                                ALE purchasing info record distribution: Inbound processing
    MMDA0001                                Default delivery addresses
    MMFAB001                                User exit for generation of release order
    MRFLB001                                Control Items for Contract Release Order
    AMPL0001                                User subscreen for additional data on AMPL
    MEQUERY1                                Enhancement to Document Overview ME21N/ME51N
    LMEDR001                                Enhancements to print program
    LMELA002                                Adopt batch no. from shipping notification when posting a GR
    LMELA010                                Inbound shipping notification: Transfer item data from IDOC
    LMEQR001                                User exit for source determination
    LMEXF001                                Conditions in Purchasing Documents Without Invoice Receipt
    LWSUS001                                Customer-Specific Source Determination in Retail
    M06B0001                                Role determination for purchase requisition release
    M06B0002                                Changes to comm. structure for purchase requisition release
    M06B0003                                Number range and document number
    MELAB001                                Gen. forecast delivery schedules: Transfer schedule implem.
    MEFLD004                                Determine earliest delivery date f. check w. GR (only PO)
    MEETA001                                Define schedule line type (backlog, immed. req., preview)
    ME590001                                Grouping of requsitions for PO split in ME59
    M06E0005                                Role determination for release of purchasing documents
    M06E0004                                Changes to communication structure for release purch. doc.
    M06B0005                                Changes to comm. structure for overall release of requisn.
    M06E0005                                Role determination for release of purchasing documents
    M06E0004                                Changes to communication structure for release purch. doc.
    M06B0005                                Changes to comm. structure for overall release of requisn.
    M06B0004                                Number range and document number
    Business Add-in
    ME_PROCESS_COMP                         Processing of Component Default Data at Time of GR: Customer
    ME_PO_SC_SRV                            BAdI: Service Tab Page for Subcontracting
    ME_PO_PRICING_CUST                      Enhancements to Price Determination: Customer
    ME_PO_PRICING                           Enhancements to Price Determination: Internal
    ME_INFOREC_SEND                         Capture/Send Purchase Info Record Changes - Internal Use
    ME_HOLD_PO                              Hold Enjoy Purchase Orders: Activation/Deactivation
    ME_GUI_PO_CUST                          Customer's Own Screens in Enjoy Purchase Order
    ME_FIELDSTATUS_STOCK                    FM Account Assignment Behavior for Stock PR/PO
    ME_DP_CLEARING                          Clearing (Offsetting) of Down Payments and Payment Requests
    ME_DEFINE_CALCTYPE                      Control of Pricing Type: Additional Fields
    ME_COMMTMNT_REQ_RE_C                    Check of Commitment Relevance of Purchase Requisitions
    ME_COMMTMNT_REQ_RELE                    Check of Commitment Relevance of Purchase Requisitions
    ME_COMMTMNT_PO_REL_C                    Check for Commitment-Relevance of Purchase Orders
    ME_PROCESS_PO                           Enhancements for Processing Enjoy Purchase Order: Intern.
    MM_EDI_DESADV_IN                        Supplementation of Delivery Interface from Purchase Order
    MM_DELIVERY_ADDR_SAP                    Determination of Delivery Address
    ME_WRF_STD_DNG                          PO Controlling Reminder: Extension to Standard Reminder
    ME_TRIGGER_ATP                          Triggers New ATP for Changes in EKKO, EKPO, EKPV
    ME_TRF_RULE_CUST_OFF                    BADI for Deactivation of Field T161V-REVFE
    ME_TAX_FROM_ADDRESS                     Tax jurisdiction code taken from address
    ME_REQ_POSTED                           Purchase Requisition Posted
    ME_REQ_OI_EXT                           Commitment Update in the Case of External Requisitions
    ME_RELEASE_CREATE                       BAdI: Release Creation for Sched.Agrmts with Release Docu.
    ME_PURCHDOC_POSTED                      Purchasing Document Posted
    ME_PROCESS_REQ_CUST                     Enhancements for Processing Enjoy PReqs: Customer
    ME_PROCESS_REQ                          Enhancements for Processing Enjoy PReqs: Internal
    ME_PROCESS_PO_CUST                      Enhancements for Processing Enjoy Purchase Order: Customer
    ME_COMMTMNT_PO_RELEV                    Check for Commitment-Relevance of Purchase Orders
    ME_CCP_ACTIVE_CHECK                     BAdI to check whether CCP process is active
    ME_BSART_DET                            Change document type for automatically generated POs
    ME_BAPI_PR_CREATE_02

  • Urgent: USER exit for W2 Box 13 of Tax reporter 4.7

    Hi,
        I am working on tax reporter version 4.7 and while printing the W2 forms saw that the Box 13 (selection of Statutory employee or Retirment plan or third party sick pay ) is not ticked. I worked in one of the clients on ECC 6.0 last year whom had a custom user exit for this same box 13 of W2 which used to get ticked on W2 form depending on the logic in that user exit.
    I suggested to this present client that an user exit needs to be written, they asked me to write functional specs for the user exit, can someone help me in writing the functional specs for this W2 form Box 13 selection of Tax reporter on 4.7. what do I need to specify and how do i need to write the functional specs reflecting the logic of this Box 13 of W2 form in tax reporter. Please help me guys, its very urgent.
    I apprecite your answers.
    Thank you so much
    Tony

    Hi Oscar Romero,
    Sorry its an typo error. second range should be 001.2006 to 007.2006.
    1. I want to know how to create Multiple Interval(Range) value variable? - I have used selection option and created variable. Is it correct?
    2. Pls find my coding.
    when 'ZFISCYAC'.
    IF I_STEP = 2.
    LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
    WHERE VNAM = 'ZFYPEROP'.   ---> Value entered is 001.2005 - 012.2006
    CLEAR L_S_RANGE.
    L_S_RANGE-LOW = LOC_VAR_RANGE-LOW(4).
    L_S_RANGE-LOW4(3) = LOC_VAR_RANGE-LOW4(3).
    LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
    WHERE VNAM = 'ZSCENAR'.  -
    > Value entered 20060804, 20060705.
    *concatenate LOC_VAR_RANGE-LOW(4) '0' LOC_VAR_RANGE-LOW+4(2)
    *into L_S_RANGE-high.
    L_S_RANGE-high = LOC_VAR_RANGE-LOW(4).
    L_S_RANGE-high+4(1) = '0'.
    L_S_RANGE-high5(2) = LOC_VAR_RANGE-LOW4(2).
    L_S_RANGE-SIGN = 'I'.
    L_S_RANGE-OPT = 'BT'.
    APPEND L_S_RANGE TO E_T_RANGE.
    ENDLOOP.
    ENDLOOP.
    ENDIF.
    Final range should be for 20060804, "ZFISCAY" should be from 001.2005 to 008.2006
    For 20060705 range should be 001.2005 to 007.2006.
    *Coding for Filling variable "Fiscal year/Period Plan Multiple values
    when 'ZFISCYPL'.
    IF I_STEP = 2.
    LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
    WHERE VNAM = 'ZSCENAR'.
    CLEAR L_S_RANGE.
    L_S_RANGE-LOW = LOC_VAR_RANGE-LOW(4).
    L_S_RANGE-LOW+4(2) = '00'.
    L_S_RANGE-LOW6(1) = LOC_VAR_RANGE-LOW4(2) + 01.
    LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
    WHERE VNAM = 'ZFYPEROP'.
    L_S_RANGE-HIGH = LOC_VAR_RANGE-high(4).
    L_S_RANGE-HIGH4(3) = LOC_VAR_RANGE-high4(3).
    L_S_RANGE-SIGN = 'I'.
    L_S_RANGE-OPT = 'BT'.
    APPEND L_S_RANGE TO E_T_RANGE.
    ENDLOOP.
    ENDLOOP.
    ENDIF.
    With same variable values entered as above plan value for variable "ZFISCPL" should be of range 009.2006 to 012.2006 for 20060804
    Range should be 008.2006 to 012.2006 for 20060705.
    Hope this is clear.
    Pls answer very urgent.
    Thanks.
    Bhuvana.

  • UPDATE ROUTINE --- CUBE --- ODS Very Very URGENT

    Hi Collegues/Friends ,
    First I need to thank for the intiators of this site , as I came to know that for many
    problems we will get different best solutions ... Hoping the same I am posting a question
    which is very very very urgent as the client is running after me for this .
    My Requirement is as Follows. ..
    I Moving the data from Cube to ODS . While i need to write a routine for an extra field in
    ODS based on Billing Quantity in Base Unit of Measure . The Key Field in the ODS Is UNIQKEY
    Transaction and It is a Characterstic in the Cube and we have MAterial as another
    Characteristic  and core element as navigational attribute .
    In the Cube for every UNIQKEY transaction- there are more than One line items. 
    My data fields in the ODS are Billing Quantity in Base Unit of MEasure and and EXTRA FIELD
    : No of Items in Transaction . But the thing is that I have only Billing Quantity in Base
    Unit of Measure in cube as a key figure
    BAsing on the UNIQKEY transcation and Billing Quantity In Base Unit Of Measure I need to
    populate the No of Items in Transaction... For this i need to write a routine .
    Let suppose say that for the Materials the core elements are as follows
    Material  Core element
    10         1 -- fuel -- In liters
    20         2 -- Cigar - in PAck
    30         3 -- Coke - in Cans
    Now Lets see how the records are there in InfoCUbe
    Uniqkey  /  Material  / Core element /Billin Quantiy
    A          /   10      /     1        /    22
    B          /   30      /     3        /    2
    C          /   10      /    1         /  15
    C          /   30      /     3        /     2
    D          /   20      /     2        /    10
    D          /   30      /     3        /    2
    And IN the ODS -- I need to Populate the No OF items in Transaction.
    the Logic behind this as follows .
    1.if Materail is of type  1(Mean if the core element - 1)
    I need to Populate the No of items in tnx = 1
    2.If Material id of type 2 or 3 I need to populate the billing quantity to the no of
    transcations.
    3. If the Uniqkey tanscation contains two line items as  suppose that you have 20 litres of
    fuel and 2 cans of coke, then No of Items in the transaction should be 3 and Billing
    Quantity in BUoM 22
    billing quantity in BUoM = 20 litres for the first line item and 2 for the second line
    item...
    then as the first line item is fuel, field No OF Items in the Transcation should be 1
    (replacing the 20) + 2 = 3
    so the final result in the ODS should be billing quantity in BUoM = 22 and The Items in the
    Transcation = 3
    For this I have Written a Rouinte like this for that field
    PROGRAM UPDATE_ROUTINE.
    $$ begin of global - insert your declaration only below this line  -
    TABLES: /BI0/PMATERIAL.
    DATA: TITEMS LIKE /BIC/AZPOCODS00-/BIC/ZTITEMS,
           CORE_ELEMENT like /BI0/PMATERIAL-RPA_WGH1.
    $$ end of global - insert your declaration only before this line   -
    FORM compute_data_field
      TABLES   MONITOR STRUCTURE RSMONITOR "user defined monitoring
      USING    COMM_STRUCTURE LIKE /BIC/CS8ZPOCTUS04
               RECORD_NO LIKE SY-TABIX
               RECORD_ALL LIKE SY-TABIX
               SOURCE_SYSTEM LIKE RSUPDSIMULH-LOGSYS
      CHANGING RESULT LIKE /BIC/AZPOCODS00-/BIC/ZTITEMS
               RETURNCODE LIKE SY-SUBRC "Do not use!
               ABORT LIKE SY-SUBRC. "set ABORT <> 0 to cancel update
    $$ begin of routine - insert your code only below this line        -
    fill the internal table "MONITOR", to make monitor entries
    check not COMM_STRUCTURE-material is initial.
      select SINGLE RPA_WGH1
            INTO CORE_ELEMENT
            from /BI0/PMATERIAL
            where
            material = COMM_STRUCTURE-material
            and  OBJVERS <>'D'.
       IF CORE_ELEMENT EQ '1'.
       TITEMS = '1'.
         CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
           EXPORTING
             input         = titems
          IMPORTING
            OUTPUT        = titems
       ELSE.
       TITEMS = COMM_STRUCTURE-BILL_QTY.
       ENDIF.
    result value of the routine
      RESULT = TITEMS..
    if abort is not equal zero, the update process will be canceled
      ABORT = 0.
    $$ end of routine - insert your code only before this line         -
    Does it satisfy all the conditions ?? mentioned above if . As far As i know as the only key
    field in the transcation it will satisfy the first two conditions .
    I want to know or If possioble anybody pls take some pain for me to send the code or any
    Ideas for satisfying all the conditions.
    Hope I will get immediate replies....
    Mail me to [email protected]

    Reddy,
    Please do not post in all sections ... makes it hard to follow up on posts..
    Arun

  • Error during GR(very very urgent)

    Hi all,
    i am using a developed program for GR.i used this program before.there was no error.but now i am facing error like
    <b>PO ordered quqntity exceeded by 18,000 EA.</b>.i am using <b>BAPI_GOODSMVT_CREATE</b> for goods transfer.
    In the selection screen, i am putting
    PO number- PO1
    material number- MAT
    GR quantity- 18,000
    delivery order-111
    i want to receive the material MAT of quantity 18,000 from that PO.initially i have ordered PO quntity as 1 lakh. Till now i have received 42,000 materials,now i try to receive 18,000 materials.but it is showing this type of error.
    This error is fired from the return parameter of that BAPI only.error having message class-M7 & error no-022
    is comming.
    i am giving my coding below.plz suggest where is the problem.it is very very urgent.recently my company has added some patches to update the SAP.is this the cause for that error.plz suggest.
    any idea will be highly appreaciated.
    Regards
    REPORT zmui001
           LINE-SIZE 140
           LINE-COUNT 65
           NO STANDARD PAGE HEADING.
    *-- DATA DECLARATION--
    *-- tables
    TABLES : ekpo,
                ekbe,
             marv.
    *--Includes
    INCLUDE : <icon>.                   " Include for Icons
    *-- Types
    TYPES : BEGIN OF t_mseg,
              ebeln LIKE ekko-ebeln,
              name1 LIKE lfa1-name1,
              lifnr LIKE lfa1-lifnr,
              eknam LIKE t024-eknam,
              mblnr LIKE mkpf-mblnr,
              matnr LIKE ekpo-matnr,
              maktx LIKE makt-maktx,
              lgort LIKE mseg-lgort,
              charg LIKE mseg-charg, "chg: 10/17/2005
              menge LIKE mseg-menge,
              budat LIKE mkpf-budat,
              bldat LIKE mkpf-bldat, " chg : 08/18/2003
              xblnr LIKE mkpf-xblnr,
              END OF t_mseg.
    DATA:  BEGIN OF t_ekbe,
              ebeln LIKE ekbe-ebeln,
              ebelp LIKE ekbe-ebelp,
              bwart LIKE ekbe-bwart,
              matnr LIKE ekbe-matnr,
              menge LIKE ekbe-menge,
              END OF t_ekbe,
              BEGIN OF t_ekpo,
              ebeln LIKE ekpo-ebeln,
              ebelp LIKE ekpo-ebelp,
              matnr LIKE ekpo-matnr,
              menge LIKE ekpo-menge,
              END OF t_ekpo.
    TYPES : BEGIN OF t_options.
            INCLUDE STRUCTURE itcpo.
    TYPES : END OF t_options.
    *--Internal tables
    DATA: BEGIN OF i_item OCCURS 50.    "Create Material Document Item
            INCLUDE STRUCTURE bapi2017_gm_item_create.
    DATA: END OF i_item .
    DATA: BEGIN OF i_return OCCURS 20.  "Return parameter
            INCLUDE STRUCTURE bapiret2.
    DATA: END OF i_return.
    DATA: BEGIN OF i_part OCCURS 0,     " Internal table for split data
            part(20),
          END OF i_part.
    DATA: BEGIN OF i_return1 OCCURS 20.  "Return parameter
            INCLUDE STRUCTURE bapiret1.
    DATA: END OF i_return1.
    *-- Work areas
    DATA: BEGIN OF wa_header .       "Material Document Header Data
            INCLUDE STRUCTURE bapi2017_gm_head_01.
    DATA: END OF wa_header .
    DATA: BEGIN OF wa_return .       "Output Structure
            INCLUDE STRUCTURE bapi2017_gm_head_ret.
    DATA: END OF wa_return .
    *-- Work areas
    DATA: wa_mseg TYPE t_mseg,
             wa_ekbe LIKE t_ekbe,
             wa_ekpo  LIKE t_ekpo,
          wa_options TYPE t_options,
           i_ekbe LIKE STANDARD TABLE OF  t_ekbe,
            i_ekbe2 LIKE STANDARD TABLE OF  t_ekbe,
           i_ekpo  LIKE STANDARD TABLE OF  t_ekpo.
    *---Variables
    DATA: v_first,         " variable to get first digit
          v_set TYPE c,
          v_found TYPE p,
          v_menge TYPE p,
          v_ebeln LIKE ekko-ebeln,
          v_lifnr LIKE ekko-lifnr,
          v_belnr LIKE ekbe-belnr,
          v_postdate LIKE mkpf-budat,
          v_bukrs LIKE marv-bukrs,
          v_datum LIKE sy-datum,
          v_lgort LIKE mard-lgort,   " Stge. location
          v_bwart LIKE mseg-bwart,   " Movement type
          v_infnr LIKE eina-infnr,   " Info record no.
          v_ltsnr LIKE eina-ltsnr.
    *---Constants
    CONSTANTS: c_comma TYPE c VALUE ',',   " For splitting data at commas
               c_01(2) TYPE c VALUE '01',  " For movement code in Bapi
               c_b     TYPE c VALUE 'B',   " For mvt. Indicator in Bapi
               c_save(4) TYPE c VALUE 'SAVE', " For button text
               c_clear(5) TYPE c VALUE 'CLEAR', " For clear button
               c_mvmt(4) TYPE c VALUE 'MVMT',
               c_ok(2)   TYPE c VALUE 'OK',
               c_error(5) TYPE c VALUE 'Error'.
    *--SELECTION SCREEN DESIGN--
    SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME.
    PARAMETERS:     p_bar(75) ,  " Scanned data from barcode
                p_ebeln LIKE ekko-ebeln, " PO number
                p_matnr LIKE ekpo-matnr, " Material number
                p_menge LIKE ekpo-menge, " Quantity
               p_lifnr LIKE ekko-lifnr, " Vendor code
                p_frbnr LIKE mkpf-frbnr, " Reference doc for goods mvt
                p_status(5) TYPE c.
    SELECTION-SCREEN END OF BLOCK blk1.
    SELECTION-SCREEN PUSHBUTTON 15(10) v_save USER-COMMAND mvmt.
    SELECTION-SCREEN PUSHBUTTON 40(10) v_clear USER-COMMAND clear.
      INITIALIZATION -
    INITIALIZATION.
      v_save = c_save .
      v_clear = c_clear.
    *--AT SELECTION_SCREEN--
    AT SELECTION-SCREEN .
      IF sy-ucomm = c_clear.
        PERFORM f_clear.
      ELSE.
        IF sy-ucomm <> c_mvmt.
           if not  sy-tabix is initial and  sy-ucomm <> c_mvmt.
    *--- Extracting the data by splitting the scanned values.
          PERFORM f_get_split_data.
    *--- Validating the input data.
          PERFORM f_check_inputs.
        ELSE .
    *--- Validating the input data.
          PERFORM f_check_inputs.
    *-- Determining the posting date and period check.
          PERFORM f_get_posting_date.
    *---Post goods movement
          PERFORM f_post_receipt.
        ENDIF.
      ENDIF.
               SUBROUTINES                                               *
    *&      Form  f_check_inputs
        Validating the input parameters
    FORM f_check_inputs.
    *-- Validating material no.
      SELECT SINGLE matnr INTO p_matnr
        FROM mara
          WHERE matnr = p_matnr.
      IF sy-subrc = 4.
        p_status =  c_error.
        MESSAGE e003(zm) WITH 'Material no.'.
      ENDIF.
    *-- Validating JHT reference no.
      SELECT SINGLE ebeln
                    lifnr
                    bukrs
                    INTO (p_ebeln, v_lifnr , v_bukrs)
                    FROM ekko
            where unsez = p_unsez. chg:07072003
              WHERE ebeln = p_ebeln.
      IF sy-subrc = 4.
        p_status =  c_error.
        MESSAGE e003(zm) WITH 'Purchase order no.'.
      ENDIF.
    *-- Validating material po combination
      SELECT SINGLE *
           FROM ekpo
             WHERE ebeln = p_ebeln
               AND matnr = p_matnr.
      IF sy-subrc = 4.
        p_status =  c_error.
        MESSAGE e003(zm) WITH 'Purchase order no.' ' and Material no.'.
      ENDIF.
    *--- Checking for DO entry . (chng : 30/06/2003)
      IF  p_frbnr IS INITIAL.
        MESSAGE e018(m7) WITH 'Delivery no.'.
        p_status =  c_error.
        PERFORM f_clear.
      ENDIF.
    *-- Validating material po do combination
      SELECT SINGLE a~belnr
                    INTO v_belnr
                    FROM ekbe AS a
                      INNER JOIN mkpf AS b
                       ON   abelnr = bmblnr
                       AND agjahr = bmjahr
                      WHERE a~ebeln = ekpo-ebeln
                        AND  a~ebelp = ekpo-ebelp
                        AND  b~xblnr = p_frbnr.
      IF sy-subrc = 0.
        MESSAGE e019(zm) WITH v_belnr.
        p_status = c_error.
        PERFORM f_clear.
      ENDIF.
      p_status =  c_ok.
    ENDFORM.                    " f_check_inputs
    *&      Form  f_get_split_data
       Extracting the data by splitting the Scanned data
    FORM f_get_split_data.
    *-- Splitting the data at commas
      SPLIT p_bar AT c_comma INTO TABLE i_part.
    *-- Assigning the parts to variables.
      LOOP AT i_part.
        v_first = i_part-part+0(1).
        TRANSLATE  v_first TO UPPER CASE.
        CASE v_first .
         WHEN 'V'.
           p_lifnr =  i_part-part+1(10).
          WHEN 'P'.
            p_matnr = i_part-part+1(18).
          WHEN 'Q'.
            p_menge = i_part-part+1(13).
          WHEN 'K'.
            p_ebeln = i_part-part+1(10).
          WHEN 'D'.
            p_frbnr = i_part-part+2(16).
          WHEN OTHERS.
            CONTINUE.
        ENDCASE.
      ENDLOOP.
    ENDFORM.                    " f_get_split_data
    *&      Form  f_get_posting_date
    Determing the posting date for document
    FORM f_get_posting_date.
    *-- get the current period for todays date.
      DATA: l_period LIKE t009b-poper.
      CALL FUNCTION 'DATE_TO_PERIOD_CONVERT'
        EXPORTING
          i_date               = sy-datum
          i_periv              = 'K4'
       IMPORTING
         e_buper               = l_period
      E_GJAHR              =
       EXCEPTIONS
         input_false          = 1
         t009_notfound        = 2
         t009b_notfound       = 3
         OTHERS               = 4
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    *-- Determining whether the open period
      SELECT SINGLE *
                    FROM marv
                    WHERE bukrs = v_bukrs.
      IF sy-subrc = 0.
        IF l_period = marv-lfmon .
          v_postdate = sy-datum.
        ELSE.
          CALL FUNCTION 'BAPI_CCODE_GET_FIRSTDAY_PERIOD'
               EXPORTING
                    companycodeid       = v_bukrs
                    fiscal_period       = marv-lfmon
                    fiscal_year         = marv-lfgja
               IMPORTING
                    first_day_of_period = v_postdate
                    return              = i_return1.
          IF NOT i_return[] IS INITIAL.
            LOOP AT i_return1.
              MESSAGE i016(zm) WITH i_return-message.
            ENDLOOP.
          ENDIF.
        ENDIF.
      ENDIF.
    ENDFORM.                    " f_get_posting_date
    *&      Form  f_post_receipt
    Post the goods receipt for entered data.
    FORM f_post_receipt.
      PERFORM f_fill_item.
      PERFORM f_fill_header.
      PERFORM f_execute_transfer.
      PERFORM f_clear.
    ENDFORM.                    " f_post_receipt
    *&      Form  f_fill_item
      Updating the item data for the GR
    FORM f_fill_item.
    Checking for IQC cycle is done here.(chng : 23/07/2003)
      PERFORM f_check_iqc.
    *---- Assigning movement type as per IQC cycle.(chng : 23/07/2003)
      IF v_lgort IS INITIAL.
        MOVE '101'   TO i_item-move_type.
        SELECT SINGLE lgort INTO i_item-stge_loc
        FROM ekpo
         where ebeln  = v_ebeln and  " chg :07/07/2003
           WHERE ebeln  = p_ebeln AND
               matnr = p_matnr .
      ELSE.
        MOVE v_lgort TO i_item-stge_loc.
        MOVE v_bwart TO i_item-move_type.
      ENDIF.
      MOVE p_matnr TO i_item-material.
      MOVE p_menge TO i_item-entry_qnt.
    move v_ebeln to i_item-po_number. " 07/07/2003
      MOVE p_ebeln TO i_item-po_number.
      MOVE v_lifnr TO i_item-vendor.
      MOVE c_b TO i_item-mvt_ind.
    select single ebelp into i_item-po_item " chg :29/07/2003
       from ekpo
          where ebeln  = p_ebeln
            and   matnr = p_matnr
           and elikz = ''.
      SELECT ebeln
                ebelp
                matnr
                menge
                INTO CORRESPONDING FIELDS OF TABLE i_ekpo
                FROM ekpo
                WHERE ebeln = p_ebeln
                   AND matnr = p_matnr
                   AND loekz = '' .
      SORT i_ekpo BY ebeln ebelp matnr.
      LOOP AT i_ekpo INTO wa_ekpo.
        IF v_found = 0.
          SELECT ebeln  ebelp
                bwart  menge
                INTO CORRESPONDING FIELDS OF TABLE i_ekbe
                FROM ekbe
                WHERE ebeln = p_ebeln
                AND ebelp = wa_ekpo-ebelp
                AND matnr = p_matnr.
                          and elikz = '' .  CHG -- 03/19/2004
          IF sy-subrc = 0.
            LOOP AT i_ekbe INTO wa_ekbe .
              IF wa_ekbe-bwart = '101'.
                v_menge = v_menge + wa_ekbe-menge.
              ENDIF.
              IF wa_ekbe-bwart = '102'.
                v_menge = v_menge - wa_ekbe-menge.
              ENDIF.
              IF wa_ekbe-bwart = '122'.
                v_menge = v_menge - wa_ekbe-menge.
              ENDIF.
            ENDLOOP.
    chng: 03/19/2004 compare po qty against receipt
            v_menge = v_menge + p_menge .
            IF wa_ekpo-menge >= v_menge .
              v_found = 1.
              MOVE wa_ekpo-ebelp TO i_item-po_item.
            ENDIF.
          ELSE .
            v_found = 1.
            MOVE wa_ekpo-ebelp TO i_item-po_item.
          ENDIF.
        ENDIF.
        CLEAR : wa_ekbe, i_ekbe, v_menge.
      ENDLOOP.
      IF v_found = 0 .
        MESSAGE e003(zm) WITH ' delivery items'.
      ENDIF.
      APPEND i_item.
      CLEAR : i_item, v_found .
    ENDFORM.                    " f_fill_item
    *&      Form  f_check_iqc
    Checking the storage location for the (chng : 23/07/2003)
    FORM f_check_iqc.
      CALL FUNCTION 'Z_M_GET_IQC_STATUS'
           EXPORTING
                matnr          = p_matnr
                lifnr          = v_lifnr
           IMPORTING
                lgort          = v_lgort
                bwart          = v_bwart
                ltsnr          = v_ltsnr
                infnr          = v_infnr
           EXCEPTIONS
                non_iqc_vendor = 1
                OTHERS         = 2.
      IF sy-subrc <> 0.
        CLEAR : v_lgort , v_bwart , v_ltsnr.
      ENDIF.
    ENDFORM.                    " f_check_iqc
    *&      Form  f_fill_header
      Updating data in the header
    FORM f_fill_header.
      MOVE v_postdate TO wa_header-pstng_date.
      MOVE sy-datum TO wa_header-doc_date.
      MOVE p_frbnr TO wa_header-ref_doc_no.
    ENDFORM.                    " f_fill_header
    *&      Form  f_execute_transfer
          Executing the goods movement.
    FORM f_execute_transfer.
      CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
           EXPORTING
                goodsmvt_header  = wa_header
                goodsmvt_code    = c_01
           IMPORTING
                goodsmvt_headret = wa_return
           TABLES
                goodsmvt_item    = i_item
                return           = i_return.
      IF i_return[] IS INITIAL .
        COMMIT WORK.
    *---  UPdating Info record for IQC cycle ind.(chng : 23/07/2003)
        IF NOT v_ltsnr IS INITIAL.
          UPDATE eina SET ltsnr = v_ltsnr
          WHERE infnr = v_infnr.
        ENDIF.
        REFRESH : i_item.
        CLEAR : wa_header,v_ltsnr , v_infnr,v_bwart,v_lifnr.
        MESSAGE i012(migo) WITH wa_return-mat_doc.
        PERFORM f_do_print.
      ELSE.
        REFRESH : i_item.
        CLEAR : wa_header,v_ltsnr , v_infnr,v_bwart,v_lifnr.
        PERFORM write_errors.
      ENDIF.
    ENDFORM.                    " f_execute_transfer
    FORM write_errors.
      WRITE: 0(90) sy-uline ,
             /0'|',
              3 'System messages for GR posting',
              90 '|',
             /0(90) sy-uline .
      LOOP AT i_return.
        CASE  i_return-type.
          WHEN 'E'.
            MESSAGE i016(zm) WITH i_return-message.
          WHEN 'W'.
            MESSAGE i017(zm) WITH i_return-message.
          WHEN 'I'.
           WRITE: /0'|',
                  icon_yellow_light AS ICON ,
                  '|',
                  10 i_return-message,
                  90 '|'.
            MESSAGE i018(zm) WITH i_return-message.
          WHEN 'S'.
           WRITE: /0'|',
                  icon_green_light AS ICON ,
                  '|',
                  10 i_return-message,
                  90 '|'.
            MESSAGE i018(zm) WITH i_return-message.
          WHEN OTHERS.
           WRITE: /0'|',
                  icon_red_light AS ICON ,
                  '|',
                  10 i_return-message,
                  90 '|'.
            MESSAGE e016(zm) WITH i_return-message.
        ENDCASE.
       AT LAST .
         WRITE:/0(90) sy-uline .
       ENDAT.
      ENDLOOP.
    ENDFORM.                    " write_errors
    *&      Form  f_clear
    Clearing the input parameters
    FORM f_clear.
      CLEAR : p_ebeln ,
              p_bar,
              p_matnr,
              p_frbnr,
              v_lifnr,
              p_menge,
              p_status.

    Hi all,
    can anyone suggest any idea?
    Regrds
    pabitra

  • Need help urgently in user exit

    Hi experts,
      i m new to the concept of user exit.
    shud anyone have very good coding knowledge for doing uiser exit.
    i havent got a clear idea about my specification.
    problem: one of the sd transaction code (dnt know the transaction code)) there is a tabstrip or table control window.In that windoww i m supppose to add one more column.
    This is an idea that i recieved from the sd consultant, i havebnnt recieved my spec yet.
    pls p[ls help me.
    i need to perform this task  very well so pls guide me
    will reward for sure
    sincerely
    jay

    Hi Jaya
               For using USER EXISTS you need Access Key from SAP.If you know the TCODE follow the procedure given below.
    ->enter TCODE in command field
    ->enter
    ->System(Menu item)
    ->Status(in drop down list)
    ->Double click on Program(screen) name
    ->you will find empty INCLUDE programs under commented heading USER EXISTS.
    ->Read the Description given for each INCLUDE and select the required one.
    ->Double click on hte INCLUDE.
                  You'll see a pop-up asking for access key, which we should get from SAP.Without Access Key you cannot use USER EXISTS.
    Regards
    Lakshman

  • JSP Question..Very Very Urgent....Please help....

    Hi...
    I am working on customizing existing JSP Page. The idea is to retrieve the customer name as show in 1 and send is as run time parameter to SQL query and use the result of select statement to pass it to 2.
    <INPUT TYPE="HIDDEN" NAME="soldtoCustPartyName" VALUE="<%= soldtoCustPartyName %>">.............1
    The above line of code gives the customer name. We need to find the site id for the above customer and pass it to the following line of code. site id will replace the hardcoded number '7945'.
    pageContext.setAttribute("party_site_id", new BigDecimal(7945), PageContext.REQUEST_SCOPE);...............2
    Hence we create database connection to find out site id. The query will return the site id depending upon the customer name as in 1. SQL statement will be something like:
    select site_id from ..... where fixed conditions and sitename = (from 1).
    How can we create SQL statement to take run time values.
    For eg. we do the following to execute Query after connecting to the databse..
    Statement statement = connection.createStatement();
    ResultSet rs = null;
    rs = statement.executeQuery("SELECT party_id from apps.hz_party_sites where cust_name='IBM'");
    <% rs.next(); %>
    <% out.print(rs.getInt("party_id")); %>
    How can the above query be modified to take run time value for cust_name.
    THIS IS VERY VERY URGENT.....PLEASE HELP.......

    Where are these run time values coming from? The user is entering the values into a form with that input?
    If so, then the user will need to submit the form, you need a servlet to process the form, take the value from the parameter with the same name as the input, insert it into the SQL statement, and run the database query, get the results and store them in the context you want.

  • Very very urgent Discoverer reports for non oracle applications

    Hi,
    My client is using discoverer 10g with R12.He is using different non oracle applications like BRM Application (database is oracle only) for that they wants to develop discoverer reports.It is possible to integrate with non oracle applications with discoverer.
    Can you please suggest me.It is very very urgent.
    Thanks & Regards.

    Hi
    You're really not supposed to manage a non-Apps mode EUL and an Apps mode data within the same URL. Having said that, I have a hunch you just might be able to do it and there are 2 ways. You can either make the data available to user who login using E-Business Suite credentials or you can make it available to users who have database credentials. The first one is straightforward and you do it just like any other data. Let me give you some hints regarding the second method.
    First of all I ahve not personally tried this and you may find that because Discoverer was initially set up in Apps mode that somewhere down the line it will make the suers connect this way. However, the following is worth a try.
    I would a new schema in the Oracle E-Business database to manage the link to BRM and create a database link from this user to a user in the BRM database. You will also need to create user accounts within the database for anyone who needs to login and run BRM reports.
    Next, I would create views in this new schema pointing at data across the BRM link, thus allowing Discoverer to think these are local objects.
    In Discoverer Administrator, you would need to log in to Discoverer using the owner of the EUL - NOT using SYSADMIN or any of the other E-Business Suite accounts. You should log in with the Oracle Applications checkbox unchecked. You can now create new business areas on the BRM data. You should also be able to assign users to Discoverer privileges and users to business areas.
    Using the same URL you would have Apps users connect using the E-Business Suite item on the drop-down for logging in and you would have BPM users choose the Business Intelligence Discoverer item.
    Let me know how you get on
    Michael

Maybe you are looking for

  • Replacement optical drive for late 2009 Mini

    I recently purchased a used late 2009 Mac Mini that works great except the optical drive does not read any CD's/ DVD's I have fed into it. I hooked up an external USB drive which reads hem fine, but is not bootable, in case I ever need to reinstall m

  • Mail sending problem......

    dear all, i want to send external mail through sap...... in that i m making spool & convert to pdf and send as a attachment....... i hv a got idea from <a href="http://www.sapdevelopment.co.uk/reporting/rep_spooltopdf.htm.">http://www.sapdevelopment.

  • Numéro de model

    Bonjour, Je voudrai connaître le numéro de model(version) du routeur wrt54g-ca. Le code bar du routeur en question que je voudrais acheter est le 745883555222 Autre question est qu'il fonctionne sous linux avec le DD-WRT Combien de ram et de mémoire

  • Is it normal for my ipad not to sync to my computer?

    My ipad wont sync with the computer anymore. i have the latest itunes and ipad software and it just wont upload. this is the message i keep getting. ' one of the usb devices attached to this computer has malfunctioned, and windows does not reccognise

  • DR430KU parts

    Hi! Where can I find parts for a DR430KU DVD Video Recording unit, I'm having problems with the optical pickup unit and I need to know where can I buy parts or get service for the machine.