Transfer Posting - Very Urgent.

Dear gurus
I need help against to transfer stock from one plant to another plant through STO in SAP (Further STN (313 & 315)). Could anybody pl send me T-Code for that & further postings required to place that material in unrestricted are of other plant location.
regds
dev.,,!

Hi
Pl.follow the foll. steps for crating 2 types of STO....with Delivery
1) Intra-Company STO: STO bet Plants belongs to Same Company Code:
1)Create one Customer for Supplying Plant Sales area and assign this Customer no with Receiving Plant in OLME---> PO -
> Set up STO -
> define Shipping Data for plants. and maintain the same sales area in your Supplying plant.
2) In OLME---> PO -
> Set up STO.....for your Document Type: UB and Suppying plant Combination assign Del. Type NL and Checking rule RP
3) In OLME---> PO -
> Set up STO...for your Supplying Plant and Receiving Plant combination Maintain Doc. Type : UB
Make sure you are maintaining Sales View for your Material at Supplying Plant.
4) Maintain Shipping point at, SPRO----> Logistics Execution -
> Shipping -
> Basic Shipping Functions -
> Shipping Point Determination for Plants.....there for your Loading group,Shipping Condition, Shipping Plant combination maintain Shipping plant..
Now Create STO in ME21N with Doc.type: UB at Receiving Plant.
Then Create Delivery in VL10B from Supplying Plant...
Then Do PGI in VL02N from supplying Plant.
Then do GR at Receiving Plant based on Outbound Delivery at Receiving Plant...
Follow the below steps to to make STO between two plants ( different company company codes).It is also called as Inter Company STO.....
1)Create one Customer Master in XD01 with respect to Supplying Plant Sales Area and assign this Customer no with Receiving Plant in OLME->PO-> set up STO->Define shipping data for plant and for the supplying Plant assign the above sales area.( Make sure,In Customer Master,sales Area Tab: you are maintaining shipping condition)
2) For Receiving Plant Pur. Org and Co.Code Combination create Vendor master in XK01 and in this vendor master assign the Supplying plant in Pur.Org.Data screen->Extras--> Add.Pur.data
3) OLME->PO-> Set up STO------>For your supplying plant assign document type NB, Delivery type NLCC and Checking Rule RP
4)then For your supplying Plant and receiving Plant assign Document type NB
5)Make sure you are maintaining Sales View for the material at supplying Plant and in Sales /Gen plant Data view maintain Availability check, Loading group and Transportation group.
6) In SPRo-->Logistics execution> Shipping->Basic shipping functions->Shipping point Determination>assign shipping points-> For your Loading group,Shipping Condition and Supplying plant combination,Assign shipping point
these are the configuration settings you have to do in background.
Then Create STO from Receing Plant in ME21N with document type NB.
Based on that STO, Create Delivery in VL10B from supplying Plant
Do PGI in VL02N from Supplying plant
Do GR in MIGO at Receiving Plant keeping Outbound delivery as a ref. document.
Now your STO bet. two plants belongs to diff. Co.Codes will be completed.
Reward if useful
Regards
S.Baskaran

Similar Messages

  • Mb1b Transfer posting problem (urgent)

    hello
    i m using movement type 309.
    in the second screen they are entering batch..so based on that batch i m getting matnr and quantity in that batch.
    In my ZBAPI ..
    SELECT matnr clabs FROM mchb
                           INTO TABLE it_mb1b
                           WHERE werks = plant      
                           AND   lgort = send_stloc 
                           AND   charg = batch.    
    In the second line item..They are entering scrap material which the data has to get from MARD table. There is no batch exists for this second line item.
    i m writing query to get the data from mard like this:-
      SELECT matnr labst FROM mard
             INTO CORRESPONDING FIELDS OF TABLE it_mard
                           WHERE matnr LIKE '%-SCRAP'
                           AND   werks = plant     
                           AND   lgort = '2200'. 
    So, how to fill this second line item in BAPI.
    For the first line item i m using it_gmitem-entry_qnt in the BAPI item list.  This is for the first item in second screen.
    Similarly how to fill the second line item in BAPI_GOODSMVT_CREATE.

    FUNCTION zbapi_mb1b_new.
    ""Local interface:
    *"  IMPORTING
    *"     VALUE(MOVE_TYPE) LIKE  BAPI2017_GM_ITEM_CREATE-MOVE_TYPE DEFAULT
    *"       '309'
    *"     VALUE(PLANT) LIKE  BAPI2017_GM_ITEM_CREATE-PLANT DEFAULT '2000'
    *"     VALUE(SEND_STLOC) LIKE  BAPI2017_GM_ITEM_CREATE-STGE_LOC
    *"     VALUE(RECV_STLOC) LIKE  BAPI2017_GM_ITEM_CREATE-MOVE_STLOC
    *"     VALUE(MOVE_PLANT) LIKE  BAPI2017_GM_ITEM_CREATE-MOVE_PLANT
    *"       DEFAULT '2000'
    *"     VALUE(BATCH) LIKE  BAPI2017_GM_ITEM_CREATE-BATCH
    *"     VALUE(QUAN_MEASURE) LIKE  BAPI2017_GM_ITEM_CREATE-QUANTITY
    *"  EXPORTING
    *"     VALUE(MAT_DOC) LIKE  BAPI2017_GM_HEAD_RET-MAT_DOC
    *"  TABLES
    *"      RETURN STRUCTURE  BAPIRET2
      DATA : ls_quan1 TYPE p DECIMALS 3,
             ls_quan2 TYPE p DECIMALS 3,
             ls_quan3 TYPE p DECIMALS 3,
             ls_quan4 TYPE p DECIMALS 3,
             ls_quan5 TYPE p DECIMALS 3,
             ls_quan6 TYPE p DECIMALS 3.
      DATA : it_mard LIKE mard OCCURS 0 WITH HEADER LINE.
      gmhead-pstng_date = sy-datum.  "Posting date defaulted to system date
      gmhead-doc_date   = sy-datum.  "Document date defaulted to system date
      gmcode-gm_code    = '04'.       "Transfer Posting (MB1B)
      SELECT matnr clabs FROM mchb
                           INTO TABLE it_mb1b
                           WHERE werks = plant       "Plant
                           AND   lgort = send_stloc  "Storage location
                           AND   charg = batch.      "Batch Number
      SELECT matnr labst FROM mard
                           INTO CORRESPONDING FIELDS OF TABLE it_mard
                           WHERE matnr LIKE '%-SCRAP'
                           AND   werks = plant      "Plant
                           AND   lgort = '2200'.    "2094 in production
      LOOP AT it_mb1b INTO wa_mb1b.
        ls_quan2 = ( 5 / 100 ) * wa_mb1b-clabs.
        ls_quan3 = wa_mb1b-clabs + ls_quan2.
        ls_quan4 = wa_mb1b-clabs - ls_quan2.
        IF ( quan_measure EQ wa_mb1b-clabs ).
          ls_quan6 = wa_mb1b-clabs.
       ELSEIF ( quan_measure > wa_mb1b-clabs AND quan_measure <= ls_quan3 ).
          ls_quan5 = quan_measure - wa_mb1b-clabs.  "difference
          READ TABLE it_mard WITH KEY matnr0(3) = wa_mb1b-matnr0(3).
          IF sy-subrc EQ 0.
            it_mard-labst = it_mard-labst - ls_quan5.
            MODIFY it_mard TRANSPORTING labst WHERE
                             matnr0(3) = wa_mb1b-matnr0(3).
          ELSE.
          ENDIF.
          MODIFY mard FROM TABLE it_mard.
          CLEAR it_mard.
          ls_quan6 = wa_mb1b-clabs + ls_quan5.
       ELSEIF ( quan_measure < wa_mb1b-clabs AND quan_measure <= ls_quan4 ).
          ls_quan5 = wa_mb1b-clabs - quan_measure.
          it_mard-labst = it_mard-labst + ls_quan5.
          MODIFY it_mard TRANSPORTING labst WHERE
                              matnr0(3) = wa_mb1b-matnr0(3).
          MODIFY mard FROM it_mard.
          ls_quan6 = wa_mb1b-clabs.
       ENDIF.
        it_gmitem-move_type    = move_type.      "Movement type
        it_gmitem-plant        = plant.          "Plant
        it_gmitem-stge_loc     = send_stloc.     "Storage Location
        it_gmitem-move_plant   = move_plant.     "Receiving Plant
        it_gmitem-move_stloc   = recv_stloc.     "Receiving storage location
        it_gmitem-batch        = batch.          "Batch Number
        it_gmitem-material     = wa_mb1b-matnr.  "Material Number
        it_gmitem-move_mat     = wa_mb1b-matnr.  "Receiving/issuing material
        it_gmitem-entry_qnt   = ls_quan6.        "Quantity in unit of entry
        APPEND it_gmitem.
      ENDLOOP.
      CLEAR return.
      CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
        EXPORTING
          goodsmvt_header             = gmhead
          goodsmvt_code               = gmcode
      TESTRUN                     = 'X'
       IMPORTING
      GOODSMVT_HEADRET            =
         materialdocument            = mat_doc
      MATDOCUMENTYEAR             =
        TABLES
          goodsmvt_item               = it_gmitem
      GOODSMVT_SERIALNUMBER       =
          return                      = return
      IF NOT mat_doc IS INITIAL.
        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
       EXPORTING
         wait          = 'X'
    IMPORTING
      RETURN        =
      ELSE.
      ENDIF.
    ENDFUNCTION.

  • Http Post(very urgent)

    hi all,
    i have a problem with posting a http request..
    the problem is i coudnt set the Content-length , and coulnt found a way
    to do it so here is the code sample, pls notify me...
    httpCon = (HttpConnection)Connector.open(url);
    httpCon.setRequestMethod(HttpConnection.POST);
    httpCon.setRequestProperty("Host","http://blablabla:port");
    httpCon.setRequestProperty("Content-Length","450");
    this.out = new DataOutputStream(httpCon.openOutputStream());
    out.write(out_bytes);
    the problem is not with the outputstream stuff i think, because on the servlet side, when i debug the post method of servlet, always contentlength is zero. So how can i set the content length..
    waitin for an answer....

    nice to see u again,
    i ve already done the thing u said but got no different response,
    thats why i set a string "450" just to see if i can change the clength at the servlet..The problem is i need this request.getContentLength at the servlet.. but found no way to set at the client side.i tried connectin with streamconnection andwriting
    out.write(("POST "
    + MMSClient.getInstance().getMMSCRoot()
    + " HTTP/1.1\r\nHost: "
    + MMSClient.getInstance().getMMSCHost()
    + ":"
    + MMSClient.getInstance().getMMSCPort()
    + "\r\nContent-Type: application/vnd.wap.mms-message\r\n"
    + "Content-Length:"
    + Integer.toString(out_bytes.length)
    + "\r\n\r\n").getBytes());
    out.write(out_bytes);
    and flushed(or sometimes not flushed)
    then closed but this time i fall into the Get method at the servlet...
    so is there any way to get rid of this situation..
    I thing this is a commonproblem but i dont know how to handle??***

  • Batch has already been posted in stock **very urgent**

    Dear all,
    My user has created a delivery for excess quantities. He had to deliver only 4 where he has done the PGI for 24. I thought I would reverse it with transaction VL09, but when I click on reverse this error "Batch has already been posted in stock" pops up. What might be the reason?
    Invoice is not created against this delivery **
    Please anyone throw some light on this and also if any other options to reverse goods movement. And can I reverse only part quantity?
    Thanks in advance and its very urgent.
    Regards

    Hi,
    well actually he is doing the partial deliveries for a order and these are all backdated entries. They havent gone live yet. The order Qty was for 40 out of which he had delivered 4 earlier and when he went to do a delivery again, he saw that stock available was only for 24 qty. and he did the PGI for whole
    thats how he delivered for 24. I hope its clear now.
    Thanks for the answer. will see if changing the error to warning will work.
    this actually had come into my mind but was not sure as to what would be the impact.
    Rish.k

  • Transfer Posting- Urgent Plssssssssssssssss

    Hi Gurus,
    How to do transfer posting using the below funtion modules.
    what are the feilds should we pass to do transfer posting.
    <b>MB_CREATE_GOODS_MOVEMENT</b>
    <b>MB_POST_GOODS_MOVEMENT</b>

    Hi Gurus,
    How to do transfer posting using the below funtion modules.
    what are the feilds should we pass to do transfer posting.
    <b>MB_CREATE_GOODS_MOVEMENT</b>
    <b>MB_POST_GOODS_MOVEMENT</b>

  • Problem with the EP6 SP10 Patch 1 Post Install (VERY URGENT)

    Hello,
    My installation seems to be well done.
    But when I try to do the first connection on the portal, I sign-in the system and it returns errors like :
    "Portal Runtime error
    An exception occurred while processing a request for :
    iView : pcd:portal_content/every_user/general/defaultDesktop/frameworkPages/frameworkpage
    Component Name : com.sap.portal.pagebuilder.pageBuilder
    The exception was logged. Inform your system administrator..
    Exception id: 04:29_01/02/05_0003_7226250
    See the details for the exception ID in the log file"
    Is there one of you who can help me to solve my problem.
    It is very urgent
    Thanks in advance
    Regards
    Humbert

    Hello,
    The console logs contain no information bout my problem but I looked in the directory :
    e:\usr\sap\DP1\DVEBMGS00\work and here is the contain of the file std_server0.out
    PatchLevel 88028.313 December 22, 2004 20:48 GMT
    >  service DQE ================= ERROR =================
    Feb 2, 2005 11:03:28 AM  ...Thread.SingleThread.run().OutOfMemory [SAPEngine_System_Thread[impl:5]_63] Fatal:
    Feb 2, 2005 11:03:28 AM  ...Thread.SingleThread.run().OutOfMemory [SAPEngine_System_Thread[impl:5]_53] Fatal:
    Feb 2, 2005 11:03:28 AM  ...Thread.SingleThread.run().OutOfMemory [SAPEngine_System_Thread[impl:5]_50] Fatal:
    Feb 2, 2005 11:03:30 AM  ...Thread.SingleThread.run().OutOfMemory [SAPEngine_System_Thread[impl:5]_30] Fatal:
    stdout/stderr redirect
    node name   : server0
    pid         : 1820
    system name : DP1
    system nr.  : 00
    started at  : Wed Feb 02 11:03:37 2005
    CompilerOracle: exclude com/sapportals/portal/pb/layout/taglib/ContainerTag addIviewResources
    CompilerOracle: exclude com/sap/engine/services/keystore/impl/security/CodeBasedSecurityConnector getApplicationDomain
    CompilerOracle: exclude com/sap/engine/services/rmi_p4/P4StubSkeletonGenerator generateStub
    CompilerOracle: exclude com/sapportals/portal/prt/util/StringUtils escapeToJS
    CompilerOracle: exclude iaik/security/md/SHA a
    CompilerOracle: exclude com/sapportals/portal/prt/core/broker/PortalServiceItem startServices
    CompilerOracle: exclude com/sap/engine/services/webservices/server/deploy/WSConfigurationHandler downloadFile
    CompilerOracle: exclude com/sapportals/portal/prt/jndisupport/util/AbstractHierarchicalContext lookup
    SAP J2EE Engine Version 6.40   PatchLevel 88028.313 is starting...
    Loading: LogManager ... 609 ms.
    Loading: PoolManager ... 0 ms.
    Loading: ApplicationThreadManager ... 94 ms.
    Loading: ThreadManager ... 15 ms.
    Loading: IpVerificationManager ... 16 ms.
    Loading: ClassLoaderManager ... 15 ms.
    Loading: ClusterManager ... 250 ms.
    Loading: LockingManager ... 63 ms.
    Loading: ConfigurationManager ... 1031 ms.
    Loading: LicensingManager ... 31 ms.
    Loading: ServiceManager ...
    Loading services.:
      Service runtimeinfo started. (78 ms).
      Service cross started. (125 ms).
      Service file started. (125 ms).
      Service timeout started. (125 ms).
      Service memory started. (156 ms).
      Service jmx_notification started. (203 ms).
      Service trex.service started. (266 ms).
      Service userstore started. (31 ms).
      Service tcsecvsi~service started. (297 ms).
      Service p4 started. (343 ms).
      Service classpath_resolver started. (16 ms).
      Service tcsecwssec~service started. (390 ms).
      Service deploy started. (2656 ms).
      Service apptracing started. (172 ms).
      Service log_configurator started. (8031 ms).
      Service locking started. (0 ms).
      Service http started. (172 ms).
      Service naming started. (297 ms).
      Service failover started. (62 ms).
      Service ts started. (109 ms).
      Service appclient started. (140 ms).
      Service javamail started. (156 ms).
      Service licensing started. (16 ms).
      Service jmsconnector started. (172 ms).
      Service connector started. (234 ms).
      Service configuration started. (16 ms).
      Service webservices started. (578 ms).
      Service dbpool started. (5343 ms).
      Service com.sap.security.core.ume.service started. (2547 ms).
      Service security started. (2203 ms).
      Service classload started. (109 ms).
      Service applocking started. (156 ms).
      Service shell started. (344 ms).
      Service tceCATTPingservice started. (47 ms).
      Service telnet started. (78 ms).
      Service keystore started. (516 ms).
      Service ssl started. (16 ms).
      Service webdynpro started. (172 ms).
      Service tcsecsecurestorage~service started. (109 ms).
      Service ejb started. (781 ms).
      Service servlet_jsp started. (813 ms).
      Service dsr started. (343 ms).
      Service tcsecdestinations~service started. (141 ms).
      Service rfcengine started. (109 ms).
      Service jmx started. (829 ms).
      Service pmi started. (203 ms).
      Service prtbridge started. (688 ms).
      Service basicadmin started. (703 ms).
      Service adminadapter started. (93 ms).
      Service sld started. (1234 ms).
      Service monitor started. (672 ms).
      Service com.sap.portal.prt.sapj2ee started. (109 ms).
    Excluding compile:  iaik.security.md.SHA::a
      Service jms_provider started. (2954 ms).
      service DQE ================= ERROR =================
      Service tc.monitoring.logviewer started. (4266 ms).
    ServiceManager started for 26532 ms.
    Framework started for 28844 ms.
    SAP J2EE Engine Version 6.40   PatchLevel 88028.313 is running!
    PatchLevel 88028.313 December 22, 2004 20:48 GMT
    >  service DQE ================= ERROR =================
    Regards
    Humbert

  • 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

  • Badi's on vi01. Pls Its very urgent

    Hi Experts,
          I have given the requirement below I am not aware of badi's. Pls tell me the info about  Business event 1120P. And also post the coding for this functionality . Its very urgent
    Enhancement Summary
    Two user exits are needed to determine the correct G/L Account and Cost Center on Shipment Cost documents and post the Material Group on the Accounting document. BADI_SCD_ACCTG and Business Event 1120P can be used to accommodate the new functionality.
    Business Process
    Specific G/L Accounts and Cost Centers have to be determined to post on the Shipment Cost document. This is needed to provide accurate management reporting capabilities on shipments for Sales Order or Stock Transfer Order. A new custom table must be created which contains the following information: Distribution, Mode of Transport, Account, Cost Center Material group. Distribution is an identifier here if this shipment originated from an SO or STO.
    There are no screens involved in this enhancement.
    Components
    Table: ZTABLE1
    Field     Data Element     Type     Length     Description
    MANDT     MANDT     CLNT (key)     3     Client
    DISTRIBUTION     Z_DISTRIBUTION     CHAR (key)     1     Distribution
    MOT     ZZDEF_MOT     CHAR (key)     2     Mode of Transportation
    MATKL     MATKL     CHAR (key)     9     Material group
    SAKNR     SAKNR     CHAR     10     G/L Account Number
    KOSTL     KOSTL     CHAR     10     Cost Center
    This table gets updated manually by the FI team.
    Values for Distribution are:
    ‘1’  =  Primary Distribution to Refinery
    ‘2’ = Primary and Secondary– Excluding refinery
    All entries must be checked against SAP config and master tables
    User exit BADI BADI_SCD_ACCTG will be used to determine the correct G/L Account, Cost Center and Product Group based on Distribution and Mode of Transport. This BADI gets called only when a new Shipment Cost document get created.
    Once the BADI determined the new values it populates field c_vfkn-sakto with the G/L account, field c_vfkn-kostl with the Cost Center and exports the Product group to memory.
    There is no field on the Shipment Cost Document to store the Product group. Therefore another mechanism must be used to get the Product Group on the accounting document.
    Business Event 1120P can be used to import the Product group out of memory and put it on BSEG-MATNR. Structure BSEG_SUBST must be enhanced with field MATNR for this purpose.
    Function, Rules, Exits      Description of Functionality, Rules, Exits
    BADI_SCD_ACCTG     Business Add-In for Shipment Cost Account Assignment
    Business Framework     Business Event 1120P can be used to import the Product Group from memory and to populate field BSEG_SUBST-MATNR.
    This event gets called from different places. It needs to be ensured that it only populates the value when it was called from BADI_SCD_ACCTG.
    Custom Table     A look-up Table needs to be maintained for Distribution, Mode of Transport, G/L Account, Cost Center and Material Group
    Transaction code     To maintain the new table
    Append Structure     To enhance structure BSEG_SUBST with MATNR
          Business Add-In BADI_SCD_ACCTG can be used to determine the account assignments for a shipment cost item to set the G/L Account and Cost Center. All data needed to determine the new information gets provided in this BADI.
    Logic:
    •     Determine if STO or SO based on Document Category from internal table I_REFOBJ-VTRLP field VGTYP If is C then Distribution type is Sales Order (Primary and Secondary – Excluding Refinery – ‘2’ ) else we need to check the receiving plant. If the receiving plant (I_REFOBJ-VTRLK field WERKS) is a refinery the Distribution type is Primary (1) else it’s a (Primary and Secondary – Excluding Refinery – ‘2’ ). Refineries can be identified via Function Module Z_M_GET_PLANTCLASSIFICATION. The plant must be passed into Import Parameter IP_SAPPLANT and field INT_PLANTCHAR-ATNAM must be looked up with value SAPTYPE. If it exists and field ATWRT contains ‘RFY’, the plant is a refinery.
    •     Product Group can be determined from the Material master through Material group field MARA-MATKL.
    •     Mode of Transport will be passed in the BADI in VTRLK-OIC_MOT.
    •     Select single entry from table ZTABLE1based on Distribution, Mode of Transport and Material Group. If nothing gets selected, error message ‘No entry exists in table ZTABLE1for Distribution (distribution), MOT (MOT) & Mat. Group (material group)’ should be triggered.
    •     Move ZTABLE1-SAKNR  to c_vfkn-sakto and ZTABLE1-KOSTL to c_vfkn-kostl
    •     The Material group must be exported to memory in BADI_SCD_ACCTG
    •     The Material group must be imported from memory in Business Event BP1120P
    •     Free Memory in Business Event BP1120P
    This is VI01 – Creation of Freight Cost Item screen

    check the reply of ur Same Post .
    regards
    prabhu

  • Error 12  While Transporting - Very Urgent

    Hi all,
    we are transporting objects from Development to Production and we are facing with an error,
    Transfer structure 0UC_AKLASSE_TEXT_BB does not exist                       
    Error RSAR 440 when handling objects with type R3TR ISTS                                                                               
    Start of the after-import method for object type R3TR ISIP (Activation Mode)
    Start of the after-import method for object type R3TR ISIP (Delete Mode)                                                                               
    tried solving this problem by retransporting and by activating the structure in RS_TRANSTRU_ACTIVATE_ALL as mentioned in few posts,  still we are getting the same error, unable to find out the root cause, please help me in solving this is very urgent.
    Thanks in Advance,
    Sai..,

    Hi Edwin,
    I have gone through that note already no much information available there its mentioned about service package 04 with is already available in our system, as per your second check point source system is mapped fine as we are able to transport remaining objects, actually now we started transporting objects in batch wise selecting few at a time and as its working fine with few, I dont think there is a problem with mapping. and one more error we are getting is
    After transporting the objects in Production if we click infopackage,
    Caution ! - The transfer method has changed
    and in InfoPackage Processing level its showing
    Update Data
    ALE Inbox and InfoObject
    ALE Inbox only
    This is happening for few randomly and for others its fine with regualar processing PSA and then in InfoObject....,
    Please look into this as well.
    Thanks,
    Sai.

  • Error while opening a module. plz help me, very urgent.

    when i try to open a module, the following error message appears on my screen.
              " no j2ee component found in d:\krisp\programs\servlets".
              i've installed bea in c: drive and my servlet program is in d: drive.
              plz help me, it's very urgent.

    Can you provide some more information? What were you doing when this happened?
              Can you post the entire error message?
              -- Rob
              WLS Blog http://dev2dev.bea.com/blog/rwoollen/

  • How to write code for this logic in a routine, very urgent --help me

    hi all,
    i want to apply this logic into one subroutin ZABC.
    here i m giving my logic ,can any body help me in coding for this, this is very urgent, i hv to submit on wednesday.
    4.1 Read the company code number BSEG-BUKRS from document line item.
    4.2 Fetch PRDHA from MARA into GV_PRDHA where MATNR = BSEG-MATNR.
    4.3 Fetch Business area (GSBER) from ZFIBU into GV_GSBER where (PRDHA = GV_PRDHA and BUKRS = BSEG-BUKRS) OR (PRDHA = GV_PRDHA and BUKRS = SPACE).
    4.4 If business area match is found, go to step 3.9. Else continue.
    4.5 If BKPF-BLART IN set “ZVS_POSDT” OR BKPF-XBLNR starts with “I0*”, execute steps below. Else, go to Step 3.6.
    i. MOVE: BSEG-BKURS TO work area field WA_ZFIBUE-BUKRS,
    BSEG-MATNR TO work area field WA_ZFIBUE-MATNR,
    GV_PRDHA TO work area field WA_ZFIBUE-PRDHA,
    BSEG-HKONT TO work area field WA_ZFIBUE-HKONT,
    BSEG-GSBER TO work area field WA_ZFIBUE-GSBER,
    BSEG-PSWBT TO work area field WA_ZFIBUE-PSWBT,
    BKPF-BUDAT TO work area field WA_ZFIBUE-BUDAT,
    SY-DATUM TO work area field WA_ZFIBUE-CREDATE,
    SY-UZEIT TO work area field WA_ZFIBUE-CRETIME,
    Fetch running serial number (WA_ZFIBUE-SERIALNO) from ZFICO. This number will be stored in ZFICO with PARAMTYPE = "BPM030307", SUBTYPE = "ZFIBUE" and KEY1 = "SERIALNO". The actual serial number will be stored in the field VALUE1.
    i. Insert WA_ZFIBUE INTO ZFIBUE.
    ii. Send email notification to the user (if it is not already sent to user on the same posting date).
    Use function module ‘SO_NEW_DOCUMENT_ATT_SEND_API1’ to send mail.
    Fetch email address and date of last email from ZFICO. These values will be stored in ZFICO with PARAMTYPE = "BPM030307", SUBTYPE = "EMAIL" and KEY1 = "<USERNAME>". The email address will be stored in the field VALUE1 and posting date in VALUE2. Once mail is sent, VALUE2 is updated with latest posting date (BKPF-BUDAT).
    iii. Increment the running serial number and update ZFICO with new serial number.
    a. GV_ SERIALNO = WA_ZFIBUE-SERIALNO + 1
    b. Update ZFICO Set value1 = GV_SERIALNO
    Where PARAMTYPE = "BPM030307" AND
    SUBTYPE = "ZFIBUE" AND
    KEY1 = "SERIALNO".
    iv Move “VDFT” to BSEG-GSBER.
    v. Exit routine.
    4.6 Fetch MTART into GV_MTART from MARA where MATNR = BSEG-MATNR.
    4.7 If SY-BATCH = INITIAL AND GV_MTART <> ‘ROH’, issue the error message - “Maintain the mapping of product hierarchy <PRDHA> from article <MATNR> for <BUKRS>”. Else, go to step 3.8.
    4.8 If SY-BATCH <> INITIAL AND GV_MTART <> ‘ROH’, issue the error message - “Maintain product hierarchy on article master”. Go to step 3.10.
    4.9 Move GV_GSBER TO BSEG-GSBER.
    4.10 Exit Routine
    plz give me reply asap --this is very urgent
    thanks in advance
    swathi

    Hi Swathi,
    If it's very very urgent then you better get on with it, don't waste time on the web. Chop chop.

  • Update Routine ... Help me Please--VERY URGENT

    Hi All ,
    I Moving data from Cube to ODS . Let me explain abt the records in the cube .
    There are 6 key figures in the cube as well as dimensions, UNIQKEY TRANSACTION is One Dimension and ARTICLE is another dimension which is having an Navigational attribute called CORE ELEMENT.
    I am showing the data with those two dimension and the key figures which are to be used in the routine.
    Charc----
    Key Figures
    UNIQKEY-ARTICLE-Coreelement--
    billqty     
    in base unit
    A00N----1006330--1--
    10.5
    A00M -
    1006320----2--
    2.5
    A00P-----1006330--1--
    10.5  
    A00P-----1006320--2--
    2.5
    A00Q-----1006320--2--
    2.5
    A00Q-----1006340--3--
    10.5
    Now Lets see what the core element numbers mean,
    core element 1 means -- fuel .
    Core elemnet other 1 -- food .   
    I need to move these data into ODS Which will have an extra field called No of items in the transaction --ITEMS.For this i need to write  a routine .
    The Logic is ...
    1.if Materail is of type 1(Means if the core element - 1)
    I need to Populate the No of items in tnx = 1 .--ITEMS.
    2.If Material is of type(Means if the core element)2or 3 I need to populate the billing quantity to the no of transcations.--ITEMS
    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
    So the ODS Data should look like this.
    UNIQKEY--billqty--
    ITEMS
    in base unit 
    A00N--10.5--
    1
    A00M--2.5--
    2.5
    A00P--13--
    3.5
    A00Q--13--
    12.5  
    NOTE : IN the ODS only the UNIQKEY IS THE KEY FIELD and the rest are DATA FIELDS.
    I Posted this one before also. But didnt get proper responses.
    I am Pasting the piece of code which I have written . This code will work for the first two records in the cube , But it is failing for the UNIQKEY Transcation having Line items.
    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         -
    PLease give me ideas on how to acheive this . As I am not Aware of ABAP very well.. PLease try to give me the code. I hope one of you may got the same requirement before.
    Its very urgent and I need to deliver it today itself.
    Thanks in advance , you can mail me to [email protected]. If anybody intersted to discuss this Issue they can reach at +91 9845922955.

    Hi ,
    While I am moving the data from cube to ods . I need to create the update rules with cube -- 8cube . WHen i am doing this the billqty is a key figure in cube so that is not a problem but the ITEMS is not there in the cube ,SO for that I need to write a routine to populate that one.
    Its strange but the user what to analyse with the UNIQKEY transaction. And these objects will be added as navigational attributes to the Characteristic. as it acts as another dimension.
    He wants to laod these from ODS to Master data -Characteristic.
    to say for each transcation hpw many items are getting sold.
    Message was edited by: Nagarjuna Reddy
    ONce again thanks for the qucik replies
    Message was edited by: Nagarjuna Reddy

  • 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

  • CAN ANY BODY EXPLAIN THESE QUESTIONS, VERY URGENT

    WHAT IS THE USE OF CHAPTER ID, IN CHAPTER ID RATES    WILL  BE   DETERMINES.
    HOW MANY TAX CODES NEED CST, LST.
    WHERE CAN I SEE EXCISE REGISTER
    WHAT IS MEANT BY RG1 CAN ANY BODY EXPLAIN BRIEFLY, WHAT IS THE USE OF RG1
    HOW DO I GET OPENING BALANCE FOR EVERY MONTH.
    IN DEPOT SALES, IF CREATING  EXCISE INVOICE A CERTIFICATED WILL ISSUE, IN A CERTIFICATE WHICH FIELDS WILL BE THERE.
    WHAT IS MEANT BY JURISDICTION CODE & COUNTY CODE.
    IN SD FACTORY SALES WHICH A/C ENTERIES GENERATED.
    CAN ANY BODY EXPLAIN THESE FORMS, WHICH SITUATION THESE FORMS WE ARE USING.  I NEED VERY URGENT.
    a) A form
    b) D form
    c) C form
    d) H form
    e) DDP form
    f) TR6 form
    g) D3 form.
    H) ARE.
    I) ARE 1
    j) ARE 2
    IN DEPOT SALES PRICING PROCEDURE JFACT, WHICH CONDITION TYPES  WILL COME,
    IN FACTORY SALES PRICING PROCEDURE JFACT, WHICH CONDITION TYPES WILL COME
    NOW WHAT IS THE VAT TAX.
    what is the use of common distribution channel and common divisions
    PLS FORWARD ANSWERS TO THIS MAIL ID.
    i hope that definitely people will help
    thanks every body.

    Dear vara prasad
    You can take it for granted if you post so much questions in one thread like this, nobody will answer / clarify you.
    So please make one thread per question.
    Meanwhile, just I would like to clarify for few questions
    1)  The most important feature of chapter id is that based on this chapter id which you maintain in "Excise Tax Rate",  all your excise tax rates will be flowing into your sale order / billing
    2) If the rate of tax differs, then you need to maintain a separate tax code.  For example, the LST / VAT in some state is 4%, and in some state it is 12%.  So in this case, you need to maintain two tax codes
    thanks
    G. Lakshmipathi

  • Need help in Idoc--very urgent.

    Hi guys,
    i am working on an object where i need to post the data from legacy system to F-27 transaction using Idoc.i hv found two idocs input_idoc_fidcc1 and input_idoc_fidcc2 for posting the data..
    Can anyone help in finding the right idoc for triggering the f-27 transaction with the reason...
    coz both are perfoming almost the same functionalities...
    its very urgent guys..
    kindly help me full marks wud be given...
    regards
    Sahil

    Hi,
    The function module is related to post the idoc type FIDCPP01
    and posts the complete FI document. and as coming to second function module along with Tax you can post item wise with holding tax dataalso. So you choose the required function module based on the data you need to post. If you need not post with holding tax details dont fo for second function modules.
    Reward if find useful

Maybe you are looking for

  • Error filter query on the portal: message dump

    HI,      i tray to published some queries on the portal. In every query navigation, when we click on the “Filters” hyperlink and then on the “variable screen” button, the variable setting pop-up appears. After confirming the variable input with the O

  • CS4 Audio Export Problem

    Hi I'm fairly new to CS4 and have picked up an audio export problem, more than likely with a setting of sorts. For some reason when I export to MPEG2 -DVD via the Media Encoder, the video portion is fine as well as any audio that has been placed and

  • Design looks good in IE but off in Safari & Firefox

    Hi: I have a design that has rounded corners on all 4 sides surrounding a site - I'm using tables (the layout otherwise is pretty basic) and everything lines up beautifully in IE, but appears to be a pixel or two off in Firefox and Safari. It's drivi

  • Printing Photo's

    I have a photosmart 8250 and have been using HP premium 4X6 paper, glossy. When printing, anything that is black does not come out glossy. Why would this be happening? Thanks for any help you give me.

  • Quiz Will Not Allow for Backward Movement

    I have a short 10 page presentation, on page 5 I have a single question.  It is optional, I have it marked for backward movement, it does not show a score afterwards.  When I publish, I can work my way through all pages, however, when I go backwards,